Как установить сочетание клавиш для преобразования из вкладок в пробелы в sublimetext2

17

Каков вариант в файле Key Bindings, который я использовал бы для создания сочетания клавиш для пункта меню

View -> Indentation -> Convert Indentation To Spaces

Я пробовал следующее, но не могу понять, как вызвать параметр, который я вижу в вышеупомянутом меню

{ "keys": ["super+t"], "command": "convert_to_tabs" },
{ "keys": ["shift+super+t"], "command": "convert_to_spaces" },
    
задан Neil Holcomb 17.01.2013 в 22:11
источник

1 ответ

42

Простая версия

Преобразование пробелов в вкладки (от Эрика Муйзера):

{ "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 ), но было бы также неплохо переключить «Использование отступов». Вот макрос, который я где-то видел (я забыл, где.)

Макро версия

Вкладки - & gt; Пространства

Сохранить как "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"} },

Пробелы - & gt; Вкладки

Аналогичное имя файла и привязка клавиш

[
  {
    "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})

.

keybinding: { "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})

.

keybinding: { "keys": ["ctrl+shift+y"], "command": "convert_spaces_to_tabs"},

    
ответ дан d_rail 17.01.2013 в 22:48
источник