Sublime Text 2增量数字

问题描述 投票:8回答:3

我有一个看起来像这样的JSON文件:

    "Algeriet" :
    [
        {
            "name" : "Nyårsdagen",
            "date" : "2013-01-01",
            "ID" : "1"
        },
        {
            "name" : "Mawlid En Nabaoui Echarif",
            "date" : "2013-01-24",
            "ID" : "2"
        },
        {
            "name" : "Första maj",
            "date" : "2013-05-01",
            "ID" : "3"
        },
       ...
     ]

现在我想开始从0而不是1递增ID。如何使用Sublime Text 2执行此操作?我已经安装了Text Pastry插件但我不确定如何在文本中选择ID以便我可以替换这些值。

numbers sublimetext2 increment
3个回答
25
投票

通过执行以下步骤解决了这个问题:

  1. 找到并替换正则表达式"ID" : "\d+"并将其替换为我知道文件中不存在的字符串(我将其替换为"ID" : "xyz"
  2. "ID" : "xyz"上进行多项选择
  3. 在多选中使用Text Pastry插件“Number Sequence(\ i)”

4
投票

使用新的add-text-with-sequence feature of the Text Pastry plugin,它甚至更少一步:

  1. 找到所有"ID" : "\d+"(激活正则表达式搜索)
  2. 在Text Pastry命令行中,输入as "ID" : "0"

1
投票

你可以使用Increment Selection。只需在多个选择的数字上按Ctrl + Alt + I.

你首先需要Package Control。所有这些都不应该超过30秒安装。

脚步:

  1. 安装包控件。 打开命令选项板:Ctrl + Shift + P(Windows / Unix)/ Command + Shift + P(Mac)。 输入Install Package Control并单击以安装。
  2. 安装增量选择包。 再次打开命令调色板。 键入Package Control: Install Package,单击它并等待一小段时间。 输入Increment Selection并单击它进行安装。
  3. 选择多个数字,然后按Ctrl + Alt + I(Windows / Unix)/ Command + Control + I(Mac)。

结果:

invert-selection.gif


Other examples

增量选择还可以使用前导零,增量字母,逐步增加,生成行号等来为数字添加前缀。

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

[#] line -> 1| line
[#] line -> 2| line
[#] line -> 3| line
[#] line -> 4| line
[#] line -> 5| line

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

© www.soinside.com 2019 - 2024. All rights reserved.