Sublime Text 2 increment numbers

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:

  1. Install Package Control.
    • Open Command Palette: Ctrl+Shift+P (Windows/Unix) / Command+Shift+P (Mac).
    • Type Install Package Control and click to install.
  2. 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.
  3. Select multiple numbers and press Ctrl+Alt+I (Windows/Unix) / Command+Control+I (Mac).

Result:

invert-selection.gif


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.


Solved it by doing these steps:

  1. 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"
  2. Make a multiple selection on "ID" : "xyz"
  3. Using the Text Pastry plugin "Number Sequence (\i)" on the multiple selection

With the new add-text-with-sequence feature of the Text Pastry plugin, it's even a step less:

  1. Find all "ID" : "\d+" (with regex search activated)
  2. In the Text Pastry Command Line, enter as "ID" : "0"