为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|

这个功能是原生的,还是有插件提供的?

78523 次浏览

我认为实现你的要求的唯一方法是创建你自己的插件。

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

选择您键入的数字(转移<;&mdash;):

enter image description here

键入快捷方式:

enter image description here

我建议使用插件文字糕点。您需要的是编号规则命令

我更喜欢使用插入NUMS命令

Text Pastry内置了对INSERT NUMS语法的支持 提供由一个空格分隔的三个数字:

N M P

n:开始索引。

M表示将添加到索引中的步长 每个选择.

p必须大于0,并将用于填充索引 前导零.

您希望所选的每一行都有一个数字,但不相同。例如,您选择了5个游标,并希望写入12345。

enter image description here选择5个光标,也许您可以在突出显示的行上使用Ctrl+少校+L

Ctrl+少校+P和选择算法 enter image description here

因为您有5个游标,所以建议使用12345
enter image description here enter image description here

如果你愿意,你可以改变你的迭代次数
enter image description here

或者从1
以外的其他数字开始 enter image description here

添加奇数
enter image description here