我将用来为菜单项设置键盘快捷键的 Key Bindings 文件中的选项是什么
View -> Indentation -> Convert Indentation To Spaces
我尝试了以下方法,但无法弄清楚如何触发我在上述菜单中看到的选项
{ "keys": ["super+t"], "command": "convert_to_tabs" },
{ "keys": ["shift+super+t"], "command": "convert_to_spaces" },
我将用来为菜单项设置键盘快捷键的 Key Bindings 文件中的选项是什么
View -> Indentation -> Convert Indentation To Spaces
我尝试了以下方法,但无法弄清楚如何触发我在上述菜单中看到的选项
{ "keys": ["super+t"], "command": "convert_to_tabs" },
{ "keys": ["shift+super+t"], "command": "convert_to_spaces" },
将空格转换为制表符(来自 Eric Muyser):
{ "keys": ["ctrl+shift+x"], "command": "unexpand_tabs", "args": { "set_translate_tabs": false } }
将制表符转换为空格(来自 mVChr):
{ "keys": ["ctrl+shift+y"], "command": "expand_tabs", "args": { "set_translate_tabs": true } }
原答案如下
您可以分别使用一个命令(expand_tabs
和unexpand_tabs
),但切换“使用空格缩进”也是一个好主意。这是我在某处看到的宏(我忘了在哪里。)
选项卡 -> 空格
在“Packages/User”文件夹中另存为“convert_tabs_to_spaces.sublime-macro”
[
{
"args":
{
"set_translate_tabs": true
},
"command": "expand_tabs"
}
]
将此添加到您的键绑定文件中:
{ "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "Packages/User/convert_tabs_to_spaces.sublime-macro"} },
空格 -> 制表符
相似的文件名和键绑定
[
{
"args":
{
"set_translate_tabs": false
},
"command": "unexpand_tabs"
}
]
我一直使用它,直到我看到您可以左键单击状态栏中的缩进设置并从那里进行更改。
“convert_tabs_to_spaces.py”
import sublime, sublime_plugin
class ConvertTabsToSpaces(sublime_plugin.TextCommand):
def run(self, edit):
self.view.run_command('expand_tabs', {"set_translate_tabs": True})
.
键绑定:{ "keys": ["ctrl+shift+x"], "command": "convert_tabs_to_spaces"},
“convert_spaces_to_tabs.py”
import sublime, sublime_plugin
class ConvertSpacesToTabs(sublime_plugin.TextCommand):
def run(self, edit):
self.view.run_command('unexpand_tabs', {"set_translate_tabs": False})
.
键绑定:{ "keys": ["ctrl+shift+y"], "command": "convert_spaces_to_tabs"},