0

注意:我在 Sublime Text 2 上安装了 Emmet

在我的工作流程中,我有很多项目是我必须在句子的每个单词之间加上下划线。有没有我可以在 sublime text 2 中构建的片段来使用某些选定文本的选项卡触发器为我执行此操作?

4

2 回答 2

1

您始终可以使用查找和替换。突出显示您想要的文本并点击Ctrl- H(或Mac 上的Command- H)打开“查找和替换”框。单击顶行的右侧按钮以选择In SelectionHighlight matches如果需要,也可以单击右下角的按钮。在框中键入一个空格,在Find What:框中键入一个下划线Replace With:,然后按Ctrl- Alt-Enter替换全部(或-Ctrl一次替换一个)。ShiftH


要使用片段,请执行以下操作。选择Tools -> New Snippet...并将以下内容放入其中:

<snippet>
    <content><![CDATA[${SELECTION/\s/_/g}]]></content>
</snippet>

将其另存为Packages/User/replace_space_with_underscore.sublime-snippet. 然后,打开Preferences -> Key Bindings - User并放入以下内容:

[
    { "keys": ["ctrl+shift+-"], "command": "insert_snippet", "args": { "name": "Packages/User/replace_space_with_underscore.sublime-snippet" } }
]

(如果您已经有自定义键绑定,只需将其放在{ "keys": ["ctrl+shift+-"], "command": "insert_snippet", "args": { "name": "Packages/User/replace_space_with_underscore.sublime-snippet" } }最后,并记得,在其上方的那个之后放置一个。)

保存这两个文件,现在您可以突出显示您想要的任何文本,点击Ctrl- Shift--并将空格替换为下划线。如果您只需要空格(没有制表符或换行符),请将“ \s”替换为“ \”(反斜杠空格)。此正则表达式将用相同数量的下划线替换多个空格。如果您只想要一个空格或一个下划线,它会变得有点复杂,但它是可行的。

于 2013-05-17T17:31:40.320 回答
1

您可以使用基于正则表达式的代码段替换轻松地创建具有此功能的代码段。您需要的唯一代码是:

<snippet>
    <content><![CDATA[
${SELECTION/\s/_/g}
]]></content>
</snippet>

然后,您可以选择一个句子,从命令面板运行此代码段,其中的所有空格都将替换为下划线。您可能需要\s根据要替换的空白量来调整正则表达式(当前只是 )。

于 2013-05-18T04:41:27.973 回答