崇高的文本3插入制表符手动
当使用文本崇高3,我的大部分文件被设置为使用空格缩进。不过,我有时希望插入一个文字标签。当我使用vim我会使用<按Ctrl > + V <标签>但是,这并不与崇高的文本3崇高的文本3插入制表符手动
我一直在寻找和搜索,并不能找到任何工作。请帮忙!
有一个默认的键绑定Shift + Tab将原始制表符字符插入到文档中,但在某些上下文情况下(例如在展开片段时)它改为使用其他函数。
然而,Indent Using Spaces
由以下设置控制:
// Set to true to insert spaces when tab is pressed
"translate_tabs_to_spaces": false,
由于这里看到它默认为false
,但是当你有Indent using spaces
打开,它被设置为true
。由于评论暗示,当此设置为true
任何企图插入原始的制表符被转换到一些数量的空格来代替。
其结果是,即使官方的密钥绑定在这种情况下不插入原始的标签。
取决于你怎么在意也常常要插入文字标签中,您可以通过暂时打开,设置和关闭解决这个问题,但是这是很不理想,即使设置在状态栏上的菜单切换。
由于崇高是如此定制的,我们可以把它自动进入这样做,为我们工作。
首先,创建一个包含以下内容的文件,并在您User
包保存为literal_tab.sublime-macro
(使用Preferences > Browse Packages...
找到你User
包,如果你不知道它在哪里):
[
{ "command": "toggle_setting", "args": { "setting": "translate_tabs_to_spaces" } },
{ "command": "insert", "args": { "characters": "\t" } },
{ "command": "toggle_setting", "args": { "setting": "translate_tabs_to_spaces" } }
]
然后,添加以下两个键绑定到用户绑定(Preferences > Key Bindings
菜单;如果有多个选项,选择User
而不是Default
):
{
"keys": ["ctrl+k","tab"],
"command": "insert",
"args": {
"characters": "\t"
},
"context":
[
{ "key": "setting.translate_tabs_to_spaces", "operator": "equal", "operand": false }
]
},
{
"keys": ["ctrl+k","tab"],
"command": "run_macro_file",
"args": {
"file": "Packages/User/literal_tab.sublime-macro"
},
"context":
[
{ "key": "setting.translate_tabs_to_spaces", "operator": "equal", "operand": true }
]
}
个
两个绑定包括导致它基于所述translate_tabs_to_spaces
设置的值来触发或没有,所以在任何给定时间只有其中的一个实际上是有效,而另一个是自动禁用的上下文。
第一个结合是针对情况下,当设置是关闭的,在这种情况下,只需要插入制表符,它的完成。第二种情况是从上面运行我们的自定义宏,这会关闭设置,插入选项卡,然后再次打开设置。
理论上,如果您始终保持打开缩进设置,您实际上只需要第二个,但由于“最小惊喜原则”,无论设置如何,都可以将其设置为正常工作。
当然你可以使用任何你想要的击键(我也用这一个从VIM),和宏文件的名称,只要它具有正确的扩展并不重要,它匹配什么该绑定尝试执行。
注:虽然你在你的问题中提到崇高的文本3,你标记的崇高文字2为好,所以我完整性也将注意到,这里提供的信息和解决方案适用于这两个版本也同样。