Добавьте число в каждый выбор в Sublime Text 2, увеличивая один раз за выбор

Есть ли способ добавить вставить число, которое увеличивается один раз на курсор в Sublime Text 2?

Пример: с | в качестве курсора:

Lorem ipsum dolor sit amet, |
vehicula sed, mauris nam eget| 
neque a pede nullam, ducimus adipiscing, 
vestibulum pellentesque pellentesque laoreet faucibus.|

Желаемый результат:

Lorem ipsum dolor sit amet, 1|
vehicula sed, mauris nam eget2| 
neque a pede nullam, ducimus adipiscing, 
vestibulum pellentesque pellentesque laoreet faucibus.3|

Является ли эта функция существующей, или есть плагин, обеспечивающий ее?

Ответ 1

Я рекомендую плагин Text Pastry. Команда номер последовательности - это тот, который вам нужен.

Я предпочитаю использовать команду Insert Nums:

Text Pastry имеет встроенную поддержку синтаксиса Insert Nums обеспечивая три числа, разделенные одним пространством:

N M P

N: начальный индекс.

M представляет размер шага, который будет добавлен к индексу для каждый выбор.

P должно быть > 0 и будет использоваться для заполнения индекса с помощью ведущие нули.

Ответ 2

Я думаю, что единственный способ добиться того, что вы просите, - создать свой собственный плагин.

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)

Сохраните его в своем каталоге User. Затем добавьте ярлык к вашему Key Bindings - User:

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

Теперь вы можете разместить курсоры там, где вам нужно:

enter image description here

Введите номер, с которого должен начинаться счетчик (в данном случае 1):

enter image description here

Выберите номер, который вы набрали (shift <—):

enter image description here

Введите ярлык:

enter image description here