Vimで挿入モードから抜ける時に英数入力に切り替える

昨日からHHKBを使い始めたついでに、キー設定を色々入れ替えるためKeyRemap4MacBookというアプリを使い始めました。『Vimで挿入モードから抜ける時に英数入力に切り替える』というのが前からやりたくて、KaoriYaさんのMacVimだとそういう設定がvimrcで出来たんですが、CUIのvimではIMを操作する良い方法が分からずに設定できていませんでした。このアプリで無理やり実現出来たので快適です。

設定方法

KeyRemap4MacBookは独自でXMLを書いて、あるキーを特定のキーと結び付けることが出来ます。またその設定が有効になるアプリも選択できます。今回の場合は、Terminal上でEscキーをEscキー+英数キーという設定にすればOKですね。Ctrl+Cも使うので同時に設定しておきます。

まずKeyRemap4MacBook Preference Paneからprivate.xmlを開いて編集します。

autogenのKeyToKeyに、変換前キー(, Ctrl等の修飾キー), 変換後キー1, 変換後キー2, ... という感じでキーを渡します。

\<?xml version="1.0"?\>\<root\>\<list\>\<item\>\<name\>LeaveInsMode with EISUU(Terminal)\</name\>\<identifier\>private.app\_terminal\_esc\_with\_eisuu\</identifier\>\<only\>TERMINAL\</only\>\<autogen\>--KeyToKey-- KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS\_EISUU\</autogen\>\<autogen\>--KeyToKey-- KeyCode::C, VK\_CONTROL, KeyCode::C, VK\_CONTROL, KeyCode::JIS\_EISUU\</autogen\>\</item\>\</list\>\</root\>

あとはReloadXMLを押せば作成した設定が表示されるので有効化します。

参考