如何在Sublime Text 2中插入一列递增数字?


83
text
text
text
text

编辑后,这些文本变为

1 text
2 text
3 text
4 text

使用列编辑器在Notepad ++中很容易,但是我不知道如何在Sublime Text 2中执行相同的操作。


6
:也许这个问题可能是有用的stackoverflow.com/questions/14574941/...
里卡多Marotti

非常有用,谢谢。
yulanggong

这与@RiccardoMarotti链接的问题重复。
dbn

1
我推荐插件Text Pastry。我在相关问题中
aanton

2
不错的插件!我已经基于@Riccardo Marotti的答案写了一个插件,github.com
yulanggong/

Answers:


86

文本糕点插件做这项工作非常好。它提供了插入编号语法

CMD+ SHIFT+选择多行L(默认为Sublime):

   text|
   text|
   text|
   text|

将光标移到所需位置:

 | text
 | text
 | text
 | text

并插入数字文本糕点击中CMD+ ALT+ N,然后输入1 1 0

 1| text
 2| text
 3| text
 4| text

其中1 1 0表示:

  • 整数开始 1
  • 递增 1
  • 填充前导零 0

在Windows或Linux机器上替换CMDCTRL


11
对我来说,Text Pastry输入是一个文本框。当我看到上面的[1] [1] [0]时,我认为它的意思是键入110将无法获得您想要的内容。您需要输入1 1 0带空格的。使用kbd标签时,您要包含空格吗?只是想知道1101 1 0使用kbd标签之间在视觉上有什么区别。
AnnanFay

对不起,我不知道该怎么做kbd空间。但是你现在明白了吗?:)
AFR

31

对于这种特殊情况,可以使用“增量选择”包。只需在每行开头有多个光标的同时按Ctrl+ Alt+ ICommand+ Control+ I)。除了melinath答案,这里是如何做到这一点的例子:

您首先需要包控制。安装这两个组件的时间不应超过30秒。

脚步:

  1. 安装程序包控制
  • 打开命令面板:Ctrl+ Shift+ P(Mac:Command+ Shift+ P)。
  • 键入Install Package Control并单击以安装。
  1. 安装增量选择包。
  • 再次打开命令面板。
  • 键入Package Control: Install Package,单击它,然后等待一小段时间。
  • 输入Increment Selection并单击安装。
  1. 将行号添加到每行的开头。
  • Ctrl+选择所有行A(Mac:Command+ A
  • 使用Ctrl+ Shift+ L(Mac:Command++ Shift+ L)将选择更改为多行
  • 按下Home(Mac:Command+ )转到每一行的开头
  • 通过Ctrl+ Alt+使用增量选择I(Mac:Command+ Control+ I

结果:

增量选择


增量选择的其他示例

增量选择还可以替换数字,带前导零的前缀数字,增量字母,逐步增加等等。

   [1] text    [1] text    [1] ->  1| text  2| text  3|
   [a] text    [a] text    [a] ->  a| text  b| text  c|
  [01] text   [01] text   [01] -> 01| text 02| text 03|
[05,3] text [05,3] text [05,3] -> 05| text 08| text 11|
[5,-1] text [5,-1] text [5,-1] ->  5| text  4| text  3|

提示:[]代表选择,|代表插入号。

精选类似插件

  • 选择评估程序:评估选择的数学表达Ctrl+ Shift+ M(苹果:Command+ Shift+ M)。

2
FWIW该解决方案也适用于崇高的文本3.2.2 build 3211。彻底改变游戏规则的人无需打开电子表格即可生成一系列数字。
VanBantam

1
你节省了我的时间。竖起大拇指
NomanJaved

22

IncrementSelection插件允许这种行为。如果安装了Package Control,则可以搜索并安装它。十分简单!


我发现这个插件非常出色。我是手动生成SVG模式,需要增加几个绘图位置。该插件为我完成了数学运算和所有操作。 <path d="M330,0C220,63.7,0,191,0,191"/><path d="M330-2C220,61.7,0,189,0,189"/> <path d="M330-_C220,__.7,0,___,0,___"/>
davidcondrey '16

2

使用Emmet软件包尝试以下操作:

  {$ text${newline}}*4

很好!顺便说一句,如果要对基值更改为3(例如,3,4,5,6),取代第一$$@3。如果要反转计数器(例如4,3,2,1)中,将第一$$@-。如果你想扭转反回3(例如,6个,5个,4个,3),替换第一个$$@-3。如果你想填零(如001,002,003,004),首先更换$$$$。见docs.emmet.io/abbreviations/syntax/#item-numbering
Rockallite

这派上用场了! {$ => $,${newline}}*12在一年中的几个月中创建具有键和值的数组
Craig London

2

我的简单解决方法(直到我找到该线程为止)是转到电子表格编辑器在此处生成序列,然后复制并返回到subl,将光标扩展到任意行并粘贴。

此方法可以在允许您扩展(克隆)光标的任何文本编辑器中应用。


2

这篇文章的副本https://stackoverflow.com/a/64083371/5902698

您希望在所选的每一行都有一个数字,但不能相同。例如,选择5个游标,然后您要编写1 2 3 4 5。

选择5个游标
在此处输入图片说明

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

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

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

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

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


这个答案看起来很简单。会更好地提到如何选择多个光标。对于Windows,请按CTRL + ALT +上/下。谢谢!
廷图·托马斯

0

您可以使用插件ConyEdit来执行此操作,使用其命令行在cc.abl '#1 '要添加内容的行之前追加。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.