问题
I have a JSON file that looks like this:
"Algeriet" :
[
{
"name" : "Nyårsdagen",
"date" : "2013-01-01",
"ID" : "1"
},
{
"name" : "Mawlid En Nabaoui Echarif",
"date" : "2013-01-24",
"ID" : "2"
},
{
"name" : "Första maj",
"date" : "2013-05-01",
"ID" : "3"
},
...
]
Now I would like to begin incrementing the IDs from 0 instead of 1. How can I do this with Sublime Text 2? I have installed the Text Pastry plugin but I'm not sure how to select the IDs in the text so that I can replace these values.
回答1:
Solved it by doing these steps:
- Do a find and replace for regex
"ID" : "\d+"
and replacing it with a string which I know does not exist anywhere in the file (I replaced it with"ID" : "xyz"
- Make a multiple selection on
"ID" : "xyz"
- Using the Text Pastry plugin "Number Sequence (\i)" on the multiple selection
回答2:
With the new add-text-with-sequence feature of the Text Pastry plugin, it's even a step less:
- Find all
"ID" : "\d+"
(with regex search activated) - In the Text Pastry Command Line, enter
as "ID" : "0"
回答3:
You can use Increment Selection. Just press Ctrl+Alt+I over multiple selections of numbers.
You will need Package Control first. All of this shouldn't take more than 30 seconds to install.
Steps:
- Install Package Control.
- Open Command Palette: Ctrl+Shift+P (Windows/Unix) / Command+Shift+P (Mac).
- Type
Install Package Control
and click to install.
- Install Increment Selection package.
- Open Command Palette again.
- Type
Package Control: Install Package
, click on it and wait a short period. - Type
Increment Selection
and click on it to install.
- Select multiple numbers and press Ctrl+Alt+I (Windows/Unix) / Command+Control+I (Mac).
Result:
Other examples
Increment Selection can also prefix numbers with leading zeroes, increment letters, increment by a step, generate line numbers and more.
[1] text [1] text [1] -> 1| text 2| text 3|
[a] text [a] text [a] -> a| text b| text c|
[01] text [01] text [01] -> 01| text 02| text 03|
[05,3] text [05,3] text [05,3] -> 05| text 08| text 11|
[5,-1] text [5,-1] text [5,-1] -> 5| text 4| text 3|
[#] line -> 1| line
[#] line -> 2| line
[#] line -> 3| line
[#] line -> 4| line
[#] line -> 5| line
Hint: []
stands for a selection, |
stands for a caret.
来源:https://stackoverflow.com/questions/15198845/sublime-text-2-increment-numbers