Add a number to each selection in Sublime Text 2, incremented once per selection

前端 未结 3 891
情话喂你
情话喂你 2020-12-07 07:01

Is there a way to add insert a number that is incremented once per cursor in Sublime Text 2?

Example, with | as the cursor:

Lorem ipsum          


        
相关标签:
3条回答
  • 2020-12-07 07:12

    I recommend the plugin Text Pastry. The Number Sequence command is the one you need.

    I prefer to use the Insert Nums command:

    Text Pastry has a build in support for the Insert Nums syntax by providing three numbers separated by one space:

    N M P

    N: the start index.

    M represents the step size which will be added to the index for each selection.

    P must be > 0 and will be used to pad the index with leading zeroes.

    0 讨论(0)
  • 2020-12-07 07:35

    You want to had a number at each row that you have selected, but not the same. For exemple, you select 5 cursors and you want to write 1 2 3 4 5.

    select your 5 cursors

    ctrl + maj + P and select arithmetic

    Because you have 5 cursors, it propose 1 2 3 4 5

    If you want you can change your number of iteration

    Or start from an other number than 1

    Add odd number

    0 讨论(0)
  • 2020-12-07 07:36

    I think that the only way to achieve what you ask is to create your own plugin.

    Tools/New Plugin...:

    import sublime_plugin
    
    
    class IncrementSelectionCommand(sublime_plugin.TextCommand):
        def run(self, edit):
            start_value = int(self.view.substr(self.view.sel()[0]))
    
            counter = 0
            for selection in self.view.sel():
                self.view.insert(edit, selection.begin(), str(start_value + counter))
                counter = counter + 1
    
            for selection in self.view.sel():
                self.view.erase(edit, selection)
    

    Save it in your User directory. Then add a shortcut to your Key Bindings - User:

    { "keys": ["YOUR_SHORTCUT"], "command": "increment_selection" }
    

    Now you can place the cursors where you need:

    enter image description here

    Insert the number the counter should start from (in this case 1):

    enter image description here

    Select the number you typed (shift<—):

    enter image description here

    Type the shortcut:

    enter image description here

    0 讨论(0)
提交回复
热议问题