Добавьте число в каждый выбор в 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]()