如何使用键绑定在Sublime Text 3中的缩进块中包装任意一段文本?

时间:2016-02-12 17:19:21

标签: sublimetext3 sublimetext

我们说我有:

doSomeAction()

我希望将它包装成一些任意文本,以便原始文本缩进:

if myValue
  doSomeAction()
end

理想情况下,我想要突出显示我的行,按下一些键绑定,并将原始文本缩进,然后将光标放在第一行,我键入if myValue(或者其他)。

我意识到这取决于我所使用的编程语言,主要是关于原始行之后的内容。在Ruby中,我需要end,在Javascript中,我需要},而在Coffeescript中,我什么都不需要:-)我想如果它留空了,这样我就可以按{{ 1}}到达那个地方,我可以输入自己需要的东西。

1 个答案:

答案 0 :(得分:4)

您可以为此目的创建代码段。例如:

<snippet>
<content><![CDATA[
${1:if condition}
    $SELECTION${3}
${2:end}
${4}
]]></content>
</snippet>

Imporant note :Stackoverflows会显示带有空格的文本,但请记住在代码段中使用标签进行缩进:请参阅此答案底部的Tyler编辑和评论。

如您所见,它可以包含以$分隔位置开头的多重部分,您可以使用tab导航所有部分,这样您就可以轻松更改条件的内容或在内部添加额外的内容。您可以轻松更改结构,添加或删除部件,内容,更改默认值等。

结果:

Sublime wrap snippet

¿如何创建代码段?

使用菜单工具&gt;新的Snippet ,然后将给定的文件内容放在新文件中。使用(示例)文件名 wrap.sublime-snippet 将其保存在sublime Packages / User中。通常Packages / User是显示的默认文件夹,通常通过菜单首选项&gt;浏览包打开Packages文件夹。

¿如何添加键绑定?

转到菜单偏好设置&gt; Key Bindings-user 并在全局数组中添加键绑定,使用您喜欢的自由键组合并保存文件。如果你没有任何其他用户密钥绑定,这个文件内容应该是这样的(记得使用你给代码片段的名称):

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

编辑:始终在代码段中使用标签缩进为recommended by Sublime Text help

  

编写包含缩进的代码段时,请始终使用制表符。该   如果插入代码段,则会将制表符转换为空格   选项translateTabsToSpaces设置为true。