- 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の変え方 - 江戸一番のジャスタウェイ職人のブログ
(→・元記事)