KeyRemap4MacBook の private.xml を編集すると、iTerm2 での操作時にフックして日本語入力の ON/OFF を切り替えられる。 これを利用して vim の insert mode から抜けるついでに日本語入力も OFF にしてしまえば、:え だとか っっっj といった悲しい思いをしなくて済む。

設定は2つで、ともにシステム環境設定から行える。

KeyRemap4MacBook

Misc & Uninstall タブの Open private.xml を選択して、 private.xml を次のように編集する。

private.xml

<?xml version="1.0"?>
<root>
    <list>
        <item>
            <name>Leave Insert Mode with Esc(Terminal)</name>
            <identifier>private.turn_ime_off_by_esc</identifier>
            <only>TERMINAL</only>
            <autogen>--KeyToKey-- KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen>
            <autogen>--KeyToKey-- KeyCode::BRACKET_LEFT, VK_CONTROL, KeyCode::BRACKET_LEFT, VK_CONTROL, KeyCode::JIS_EISUU</autogen>
        </item>
    </list>
</root>

言語とテキスト

次に iTerm2 の特定のペインだけで日本語入力が切り替わるように設定する。

入力ソース タブの 入力ソースのオプション書類ごとに異なるものを使用 にチェックを入れる

以上で設定は完了。 vim で EscC-[ で insert mode を抜けると同時に日本語入力がOFFになる。