Sublime Text 3 宏向每一行添加引号和逗号?

Kev*_*vin 1 sublimetext sublimetext3 sublime-text-plugin

假设我打开了一个文件。文件中的每一行都是一个 ID 号。我经常做的任务之一是将每一行转换为带引号的 ID 号,并在每行末尾添加一个逗号。目前我使用正则表达式查找和替换来执行此操作。

例子:

Find: ^(.*)$
Replace: "$1",
Run Code Online (Sandbox Code Playgroud)

但如果我可以编写一个宏来为我做到这一点,那么我就不必每次都使用查找和替换。

类似于: 第一步:将光标放在每行上 第二步:将光标移动到每行前面 第三步:插入字符 双引号 第四步:将光标移动到每行末尾 第五步:插入字符双引号第六步:插入字符逗号

Ash*_*noy 5

这是您正在寻找的宏,

[
    { "command": "select_all", },
    { "command": "split_selection_into_lines" },
    { "command": "insert_snippet", "args": { "contents": "\"${0:$SELECTION}\"" }, },
    { "command": "move_to", "args": { "to": "eol", "extend": false }, },
    { "command": "insert", "args": { "characters": ","}, }
]
Run Code Online (Sandbox Code Playgroud)

这就是宏的作用:

  1. 它选择所有文本。
  2. 它为每行创建一个选择,并将光标放置在每行的末尾。
  3. 它将每行的文本用双引号引起来。
  4. 它将光标移动到每行的末尾。
  5. ,它在每行末尾插入一个逗号 ( )。

宏文件必须以扩展名保存.sublime-macro在您的User目录中(如果您不确定Preferences --> Browse Packages...从菜单中选择的位置)。该文件可以命名为您喜欢的任何名称,但描述性名称通常是最好的,因为它们可以防止以后混淆,例如QuoteAndComma.sublime-macro.

您可以从 Sublime Text 菜单运行宏Tools --> Macros --> User --> QuoteAndComma,但这里有一个键绑定,以使其更易于使用。

{
    "keys": ["ctrl+shift+alt+5"],
    "command": "run_macro_file",
    "args": {"file": "res://Packages/User/QuoteAndComma.sublime-macro"},
},
Run Code Online (Sandbox Code Playgroud)

将其添加到您的用户键绑定文件中,将键更改为您想要的任何键。请注意,示例键绑定假设您将上述宏文件保存在目录QuoteAndComma.sublime-macroUser

当这一切都完成后,当您按下按键绑定时,每行上的文本都会被双引号括起来,然后添加一个尾随逗号。

作为附加说明,您还可以使用以下一系列默认键绑定来执行宏文件中的相同操作。

  1. ctrl + a-> 选择所有文本。
  2. ctrl + shift + l-> 将选择拆分为行。
  3. shift + "-> 双引号。
  4. End-> 将每个选择移至 eol。
  5. ,-> 最后的尾随逗号。

最后,以防万一您之前要逐一替换,在查找/替换面板中您可以选择Replace All一次性执行所有替换。