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


* 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](https://gist.github.com/dnakagome/4576767)

○Ctrl + [ でオートコンプリートのパネルを閉じる
→・[Sublime text2 のインストールと設定 #Mac #SublimeText2 - Qiita [キータ]](http://qiita.com/iori-o@github/items/0002e8378ad1de15e519)

○コード補完の候補選択をTabで移動する
→・[SublimeText2でコード補完の候補選択をTabで行う方法 - cherenkov's暗中模索blog](http://makev.blogspot.jp/2012/11/sublimetext2tab.html)

○Mac の日本語入力で変換候補で選択できるようにする
→・[【Sublime Text 2】Mac OS Xで日本語入力のタブ変換ができなくなった場合の対処方法 - てくめも@ecoop.net](http://www.ecoop.net/memo/archives/【sublime-text-2】mac-os-xで日本語入力のタブ変換ができなくな.html)
→・[日本語入力でタブを使えるようにする - kaz_shuの日記](http://kazshu.hatenablog.com/entry/20120718/1342623780)

○Sublime Text 3 の Default (OSX).sublime-keymap - Default を編集する
→・[Sublime Text 3でのDefault (OS X).sublime-keymapの変え方 - 江戸一番のジャスタウェイ職人のブログ](http://aska.hatenablog.com/entry/2013/03/12/235039)

　
（→・[元記事](http://blog.livedoor.jp/noanoa07/archives/1961270.html)）