19

メニュー項目のキーボード ショートカットを設定するために使用するキー バインド ファイルのオプションは何ですか?

View -> Indentation -> Convert Indentation To Spaces

次のことを試しましたが、上記のメニューに表示されるオプションをトリガーする方法がわかりません

{ "keys": ["super+t"], "command": "convert_to_tabs" },
{ "keys": ["shift+super+t"], "command": "convert_to_spaces" },
4

1 に答える 1

49

シンプルバージョン

スペースをタブに変換します (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 } }

以下の元の回答


それぞれ 1 つのコマンド(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"},

于 2013-01-17T21:48:18.177 に答える