195

有没有办法在 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|

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

4

3 回答 3

334

我推荐插件Text PastryNumber Sequence 命令是您需要的命令。

我更喜欢使用插入数字命令

Text Pastry 通过提供由一个空格分隔的三个数字来支持插入数字语法:

NMP

N:起始索引。

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

P 必须 > 0 并将用于用前导零填充索引。

于 2013-02-03T08:15:24.110 回答
109

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

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" }

现在您可以将光标放在您需要的位置:

在此处输入图像描述

插入计数器应开始的数字(在本例中为 1):

在此处输入图像描述

选择您输入的数字 ( shift<—):

在此处输入图像描述

键入快捷方式:

在此处输入图像描述

于 2013-01-29T07:53:44.543 回答
14

您希望在您选择的每一行都有一个数字,但不一样。例如,您选择了 5 个光标,并且您想写 1 2 3 4 5。

选择您的 5 个光标 也许在此处输入图像描述您可以在突出显示的行上使用ctrl++majL

ctrl++majP选择算术 在此处输入图像描述

因为你有 5 个游标,所以建议 1 2 3 4 5
在此处输入图像描述 在此处输入图像描述

如果你愿意,你可以改变你的迭代次数
在此处输入图像描述

或从 1 以外的其他数字开始
在此处输入图像描述

添加奇数
在此处输入图像描述

于 2020-09-26T23:21:02.663 回答