tabs – Sublime Text 3手动插入制表符

tabs – Sublime Text 3手动插入制表符,第1张

概述使用Sublime Text 3时,我的大多数文件都设置为使用空格缩进.但是我有时希望插入一个文字标签.当我使用 vim时,我会使用< Ctrl> v< Tab>但这不适用于Sublime Text 3. 我一直在搜索和搜索,找不到任何东西.请帮忙! Shift Tab的默认键绑定将原始制表符插入到文档中,尽管在某些上下文情况下(例如展开片段时)它会采用其他函数. 但是,使用空格缩进由以下设置控制 使用Sublime Text 3时,我的大多数文件都设置为使用空格缩进.但是我有时希望插入一个文字标签.当我使用 vim时,我会使用< Ctrl> v< Tab>但这不适用于Sublime Text 3.

我一直在搜索和搜索,找不到任何东西.请帮忙!

解决方法 Shift Tab的默认键绑定将原始制表符插入到文档中,尽管在某些上下文情况下(例如展开片段时)它会采用其他函数.

但是,使用空格缩进由以下设置控制:

// Set to true to insert spaces when tab is pressed"translate_tabs_to_spaces": false,

如此处所示,它默认为false,但是当你使用Indent打开时,它被设置为true.正如评论所暗示的那样,当此设置设置为true时,任何插入原始制表符的尝试都会转换为某些空格.

因此,即使是官方密钥绑定也不会在这种情况下插入原始选项卡.

根据您插入文字标签的频率,您可以通过暂时打开和关闭该设置来解决此问题,但这远非理想,即使从状态栏中的菜单切换设置也是如此.

由于Sublime是如此可定制,我们可以自动化它为我们做这项工作.

首先,创建一个包含以下内容的文件,并将其作为literal_tab.sublime-macro保存在用户包中(如果您不确定它的位置,请使用首选项>浏览包…以查找您的用户包):

[    { "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","command": "run_macro_file","args": {        "file": "Packages/User/literal_tab.sublime-macro"    },"operand": true }    ]}

两个绑定都包含一个上下文,使其根据translate_tabs_to_spaces设置的值触发或不触发,因此在任何给定时间,其中只有一个实际生效,另一个自动禁用.

第一个绑定是针对关闭设置的情况,在这种情况下,它只需要插入制表符并完成.第二种情况是从上面运行我们的自定义宏,它关闭设置,插入选项卡,然后再次打开设置.

理论上,如果你总是打开缩进设置,你真的只需要第二个,但由于最小惊喜原则,不管设置如何设置它都是一个好主意.

当然你可以使用你想要的任何键击(我也习惯了这个来自vim),并且宏文件的名称无关紧要,只要它具有正确的扩展名并且它与绑定尝试的匹配执行.

注意:尽管您在问题中提到了Sublime Text 3,但您也标记了Sublime Text 2,因此为了完整起见,我还会注意到此处提供的信息和解决方案同样适用于这两个版本.

总结

以上是内存溢出为你收集整理的tabs – Sublime Text 3手动插入制表符全部内容,希望文章能够帮你解决tabs – Sublime Text 3手动插入制表符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1071074.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存