LoginSignup
86
84

More than 5 years have passed since last update.

Sublime Text 3 で使っているキーバインディングの設定

Posted at
  • Tabでカッコの外にカーソルを移動させる
  • Shift+TabでもTabの挿入にする
  • Ctrl+Spaceでオートコンプリートのパネルを閉じる
  • コード補完の候補選択をTabとShift+Tabで上下に移動させる
  • 日本語入力で変換候補をTabで移動できるようにする

以上のキーバインディングを設定しました。
(Sublime Text 3 Build 3059、Mac OS X 10.9 Mavericks)

1. Preferences > Key Bindings - User の設定

・Default (OSX).sublime-keymap - User

[
  // Tab でカッコの外にカーソルを移動する
  { "keys": ["tab"], "command": "move", "args": {"by": "characters", "forward": true }, "context":
    [
      { "key": "following_text", "operator": "regex_contains", "operand": "^[)}'\"\\]]", "match_all": true },
      { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
  },

  // Shift+Tab でTabを挿入する
  { "keys": ["shift+tab"], "command": "insert", "args": {"characters": "\t"} },

  // Ctrl+Space でオートコンプリートのパネルを閉じる
  // ただし、MacのSpotlight検索のキーボードショートカット(Ctrl+Space)は Offにすること
  { "keys": ["ctrl+space"], "command": "hide_auto_complete", "context":
    [
      { "key": "auto_complete_visible", "operator": "equal", "operand": true }
   ]
  },

  // コード補完の候補選択をTabとShift+Tabで上下に移動させる
  { "keys": ["tab"], "command": "auto_complete", "context":
    [
      { "key": "auto_complete_visible", "operator": "equal", "operand": true }
    ]
  },
  { "keys": ["shift+tab"], "command": "auto_complete_prev", "context":
    [
      { "key": "auto_complete_visible", "operator": "equal", "operand": true }
    ]
  }
]

2. Preferences > Key Bindings - Default の設定

・Default (OSX).sublime-keymap - Default

/* Macの日本語入力で変換候補をTabで下に移動できるようにする
{ "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": true} },
{ "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": false},
    "context":
    [
        { "key": "setting.tab_completion", "operator": "equal", "operand": true }
    ]
},
*/

Sublime Text 3 になっても、日本語かな漢字変換への対応はまだ不十分です。
現状では、Key Bindings - Default の上記の部分をコメントアウトするしかないようです。

  • 「Shift+Tabで変換候補を上に移動する」ことは実現できていません。
  • auto pairingしている引用符のペア(""や''や{})の中では、Tabを押しても変換候補の選択ができません。

※ Sublime Text 3 で、Default (OSX).sublime-keymap - Default を編集する方法

Sublime Text 3 では、Default (OSX).sublime-keymap - Default は表示することはできても、変更ができません。(ファイルも見つからない。)

この対策として、Default (OSX).sublime-keymap という名前でファイルを自分で作って(内容もコピーして)、以下のフォルダに置けば編集できるようになります。(フォルダがなければそれも作る)

Macintosh HD> ユーザ > (自分のユーザ名) > ライブラリ > Application Support > Sublime Text 3 > Packages > Default

注)Finderで操作する際は、「ライブラリ」フォルダはデフォルトでは非表示なので、Finderでメニューバーの「移動」をOptionキーを押しながら選択すると表示されます。

もちろん、ターミナルで操作しても可。
(エスケープ文字が多いので参考までに、こう置かれていればOK。)

/Users/(自分のユーザ名)/Library/Application\ Support/Sublime\ Text\ 3/Packages/Default/Default\ \(OSX\).sublime-keymap

 

参考)

○自動補完された括弧の外へタブキーでカーソルを移動させる
→・Sublime Text 2で自動補完された括弧の外へタブキーでカーソルを移動させるためのキーバインディング設定 - dnakagome - GitHub

○Ctrl + [ でオートコンプリートのパネルを閉じる
→・Sublime text2 のインストールと設定 #Mac #SublimeText2 - Qiita [キータ]

○コード補完の候補選択をTabで移動する
→・SublimeText2でコード補完の候補選択をTabで行う方法 - cherenkov's暗中模索blog

○Mac の日本語入力で変換候補で選択できるようにする
→・【Sublime Text 2】Mac OS Xで日本語入力のタブ変換ができなくなった場合の対処方法 - てくめも@ecoop.net
→・日本語入力でタブを使えるようにする - kaz_shuの日記

○Sublime Text 3 の Default (OSX).sublime-keymap - Default を編集する
→・Sublime Text 3でのDefault (OS X).sublime-keymapの変え方 - 江戸一番のジャスタウェイ職人のブログ

 
(→・元記事

86
84
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
86
84