剥いだ布団とメモランダム.old

情報系のことをかいてゆく

Sublime Text 3でgoogle IMEの予測変換問題を無理やり解決する

キーバインドの問題で、

っていう環境だと、google IMEの予測変換機能(tabキー)が使えないので、無理やり解決してみた。


いろいろ調べてみると、Sublime Text 2の時点で同様の問題に直面してる人が多くて、
解決方法を提案しているブログ記事がちょいちょいヒットする。

やり方としては、Defaultのキーバインドにある、
tabキーの一部設定をコメントアウトすることで、みんな解決してるみたい。

設定ファイルがいじれない!

Preferences > Key Bindings - Defaultでキーバインド設定を出して、
編集してみようとしたら…あれ、表示はできるけど編集できない。

権限的な問題なのかなと思って、設定ファイルがある
~/Library/Application Support/Sublime Text 3/Packages/Default
にあるファイルをみてみると、
設定ファイルのDefault (OSX).sublime-keymapがそもそも見つからない。

自分で設定ファイルを作って解決

仕方ないので、自分で設定ファイルを作りなおすことにした。

  • Preferences > Key Bindings - Defaultで表示されるJSONを全部コピー
  • Sublime Text 3でファイルを新規作成してペースト
  • 以下の内容の部分(95〜101行目あたり)をコメントアウト
// { "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 }
// 	]
// },
  • ~/Library/Application Support/Sublime Text 3/Packages/Defaultに
    ファイル名'Default (OSX).sublime-keymap'で保存
  • Sublime Text 3を再起動

まとめ

半ば強引な感じだけども、これでgoogle IMEの予測変換が使える。
本来バインドされていた機能は使えないっすけど、一番簡単な方法かなとは思う。
もっとスマートなやり方があるといいんだけども。

っていうか、なんで初期状態だとPreferences > Key Bindings - Defaultいじれないんですかね。

ちなみに、このやり方で設定すると、
次回からPreferences > Key Bindings - Defaultでキーバインドを編集できるようになります。