为Sublime Text 2中的每个选择添加一个数字,每个选择增加一次

Mic*_*son 189 sublimetext2

有没有办法在Sublime Text 2中添加插入一个每个光标增加一次的数字?

例如,带有|光标:

Lorem ipsum dolor sit amet, |
vehicula sed, mauris nam eget| 
neque a pede nullam, ducimus adipiscing, 
vestibulum pellentesque pellentesque laoreet faucibus.|
Run Code Online (Sandbox Code Playgroud)

期望的结果:

Lorem ipsum dolor sit amet, 1|
vehicula sed, mauris nam eget2| 
neque a pede nullam, ducimus adipiscing, 
vestibulum pellentesque pellentesque laoreet faucibus.3|
Run Code Online (Sandbox Code Playgroud)

这个功能本机存在,还是有插件提供它?

aan*_*ton 328

我推荐插件Text Pastry.该数列的命令是你需要的.

我更喜欢使用Insert Nums命令:

Text Pastry通过提供由一个空格分隔的三个数字来构建支持Insert Nums语法:

NMP

N:起始指数.

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

P必须> 0并将用于填充带有前导零的索引.

  • 非常有帮助. (63认同)
  • 此解决方案也适用于Sublime Text 3.对我来说,主要问题是您需要知道如何打开Text Pastry命令行(CTRL-ALT-N).因此,要将数字从01增加到10,请选择10行(shift +右键单击/拖动所需列),按`CTRL-ALT-N`,然后键入`1 1 2` (13认同)
  • 我发现我必须首先选择行并使用Ctrl + Shift + L选择所有受影响的行,然后使用Text Pastry进行编号,https://www.youtube.com/watch?v = upEieoTwnjs (4认同)

Ric*_*tti 106

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

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)
Run Code Online (Sandbox Code Playgroud)

将其保存在您的User目录中.然后为您的添加快捷方式Key Bindings - User:

{ "keys": ["YOUR_SHORTCUT"], "command": "increment_selection" }
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

插入计数器应该从的数字(在这种情况下为1):

在此输入图像描述

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

在此输入图像描述

输入快捷方式:

在此输入图像描述

  • 很好的答案,非常有帮助.我一有机会就会这样做. (5认同)

Nic*_*ens 7

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

选择您的 5 个光标
在此处输入图片说明

ctrl + maj + P 并选择算术 在此处输入图片说明

因为你有 5 个游标,所以建议 1 2 3 4 5
在此处输入图片说明 在此处输入图片说明

如果您愿意,可以更改迭代次数
在此处输入图片说明

或者从 1 以外的其他数字开始
在此处输入图片说明

添加奇数
在此处输入图片说明

  • 这应该被接受的答案。看来 Sublime 本身就支持这一点,不需要额外的插件。 (3认同)