この記事では、Ubuntu12.04のVimで日本語入力固定モードを利用し、IMの切り替えを改善する方法を紹介します。
UbuntuのVimでファイルを編集していて困るのが、IMの切替です。ノーマルモードとインサートモードを行き来する際、IMの状態に悩まされる方は多いのではないでしょうか。
私はこのIM切り替え問題を、im_control.vim プラグインが提供する「日本語入力固定モード」で解決しています。もう、このプラグインなしでは生きていけません。
下記のようにIMを制御する方法を紹介します。
- 挿入モードからノーマルモードに移行した時に、IMを自動でOffする。
- Ctrl + j キーで日本語入力固定モードに移行する。
- 日本語入力固定モードの間は、ノーマルモードから挿入モードに移行したときにIMを自動でOnする。
- Ctrl + j キーで日本語入力固定モードを解除する。通常モードの間は、ノーマルモードから挿入モードに移行したときに、IMはOffのままとなる。
動作確認環境
- Ubuntu12.04
- Vim7.3
目次
im_control.vimをインストール
下記サイトより、im_control.vimをダウンロードします。
Vim/GVimで「日本語入力固定モード」を使用する - fudist
インストールは、im_control.vimをVimのランタイムパスが通ったディレクトリに配置すればOKです。
私はneobundle.vimを使用しており、下記の記事の方法でim_control.vimを有効化しています。
-
neobundleでpathogenと同等の機能を使用する方法
以前、neobundleとpathogenを共存させてVimのプラグインを管理する方法についての記事を書きました。 当時 ...
続きを見る
Mozcをインストール
Google日本語入力のオープンソース版である、Mozcをインストールして有効化します。デフォルトのAnthyは、日本語入力固定モードがうまく動作しませんでした。
インストールと有効化は下記の記事を参考にどうぞ。
-
Ubuntu12.04にGoogle日本語入力「Mozc」をインストールする
Ubuntu12.04のデフォルトIM「Anthy」が残念な感じなので、普段WindowsやMacで使用しているGoog ...
続きを見る
.vimrc
.vimrcを下記の通り記述します。
" 「日本語入力固定モード」切替キー
inoremap <silent> <C-j> <C-r>=IMState('FixMode')<CR>
" PythonによるIBus制御指定
let IM_CtrlIBusPython = 1
"バッファ毎に日本語入力固定モードの状態を制御。
let g:IM_CtrlBufLocalMode = 1
ctrl + j キーで日本語入力固定モードに移行するようにしています。
動作確認
インサートモードで ctrl + j キーを押下し、ノーマルモードとインサートモードを切り替え、IMの状態を確認します。