如何在sublimetext2中设置用于从制表符转换为空格的键盘快捷键

Nei*_*omb 19 sublimetext sublimetext2

Key Bindings文件中的选项是什么,我将用它来设置菜单项的键盘快捷键

View -> Indentation -> Convert Indentation To Spaces
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以下内容,但无法弄清楚如何触发我在上面提到的菜单中看到的选项

{ "keys": ["super+t"], "command": "convert_to_tabs" },
{ "keys": ["shift+super+t"], "command": "convert_to_spaces" },
Run Code Online (Sandbox Code Playgroud)

d_r*_*ail 48

简单版本

将空格转换为制表符(来自Eric Muyser):

{ "keys": ["ctrl+shift+x"], "command": "unexpand_tabs", "args": { "set_translate_tabs": false } }
Run Code Online (Sandbox Code Playgroud)

将制表符转换为空格(来自mVChr):

{ "keys": ["ctrl+shift+y"], "command": "expand_tabs", "args": { "set_translate_tabs": true } }
Run Code Online (Sandbox Code Playgroud)

原文如下


您可以使用每个(expand_tabsunexpand_tabs)一个命令来执行此操作,但切换"使用空格缩进"也是一个好主意.这是我在某处看到的一个宏(我忘了哪里.)

宏版本

标签 - >空格

在"Packages/User"文件夹中另存为"convert_tabs_to_spaces.sublime-macro"

[
  {
    "args":
    {
      "set_translate_tabs": true
    },
    "command": "expand_tabs"
  }
]
Run Code Online (Sandbox Code Playgroud)

将其添加到您的keybindings文件:

    { "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "Packages/User/convert_tabs_to_spaces.sublime-macro"} },
Run Code Online (Sandbox Code Playgroud)

空格 - >标签

类似的文件名和键绑定

[
  {
    "args":
    {
      "set_translate_tabs": false
    },
    "command": "unexpand_tabs"
  }
]
Run Code Online (Sandbox Code Playgroud)

我用这个直到我看到你可以左键单击状态栏中的缩进设置并从那里更改它.

编辑:

插件版本

从这里改编

"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})
Run Code Online (Sandbox Code Playgroud)

.

键绑定: { "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})
Run Code Online (Sandbox Code Playgroud)

.

键绑定: { "keys": ["ctrl+shift+y"], "command": "convert_spaces_to_tabs"},

  • 宏文件似乎没必要.它可以是:{"keys":["ctrl + shift + x"],"command":"unexpand_tabs","args":{"set_translate_tabs":false}} (5认同)