sublimetext3 - Sublime Text 3 Macro 为每一行添加引号和逗号?

标签 sublimetext3 sublimetext sublime-text-plugin

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

Find: ^(.*)$
Replace: "$1",
但如果我可以编写一个宏来为我做这件事,那么我就不必每次都使用查找和替换。
就像是:
第一步:在每一行放置一个光标
第二步:将光标移动到每一行的最前面
第三步:插入字符双引号
第四步:将光标移动到每一行的末尾
第五步:插入字符双引号
第六步:插入字符逗号

最佳答案

这是您要查找的宏,

[
    { "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": ","}, }
]
这就是宏的作用:
  • 它选择所有文本。
  • 它为每一行创建一个选择,在每一行的末尾放置一个光标。
  • 它将每行的文本用双引号括起来。
  • 它将光标移动到每行的末尾。
  • 它在每行的末尾插入一个逗号 (,)。

  • 宏文件必须用 .sublime-macro 保存。您的 User 中的扩展名目录(如果您不确定它在哪里,请从菜单中选择 Preferences --> Browse Packages...)。该文件可以命名为您喜欢的任何名称,但描述性名称通常是最好的,因为它们可以防止以后混淆,例如QuoteAndComma.sublime-macro .
    您可以从 Sublime Text 菜单 Tools --> Macros --> User --> QuoteAndComma 运行宏, 但这里有一个键绑定(bind),使其更易于使用。
    {
        "keys": ["ctrl+shift+alt+5"],
        "command": "run_macro_file",
        "args": {"file": "res://Packages/User/QuoteAndComma.sublime-macro"},
    },
    
    将此添加到您的用户 key 绑定(bind)文件中,将 key 更改为您想要的任何内容。请注意,示例键绑定(bind)假定您将上述宏文件保存为 QuoteAndComma.sublime-macroUser目录。
    当这一切都完成后,当您按下键绑定(bind)时,每行上的文本都会被双引号括起来,然后添加一个尾随逗号。
    作为附加说明,您还可以使用以下一系列默认键绑定(bind)来执行宏文件中的相同操作。
  • ctrl + a -> 选择所有文本。
  • ctrl + shift + l -> 将选择拆分为行。
  • shift + "-> 双引号。
  • 结束 -> 将每个选择移动到 eol。
  • , -> 最后的尾随逗号。

  • 最后,以防您之前一一替换,在查找/替换面板中您可以选择 Replace All一口气执行所有替换。

    关于sublimetext3 - Sublime Text 3 Macro 为每一行添加引号和逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63894572/

    相关文章:

    sass - Sublime Text 片段在 .scss 文件中不起作用

    sublimetext - 如何在 Sublime Text 3 中对齐文本?

    python - python程序在sublime text 3中执行失败,但在bash中执行成功

    git - 根据 git status 为 SublimeText TreeView 中的文件着色?

    angularjs - Sublime Text 片段 : Create camelcased string from the hyphenated file name

    sublimetext2 - 注释的 Sublime 代码折叠(如 Ace 中)

    python - 如何将 args 传递给 sublime_plugin.WindowCommand 的实例?

    python - 是否可以在 Sublime Text 3 输出面板中显示图像?

    emacs - Sublime Text 2's "Goto Anything”(或即时搜索)用于 Emacs?

    python - 使用python命令行在sublime text 3中删除文件