2012/09/14

Vimで日本語を使いやすくする。

vimで日本語を書くときに日本語入力設定(IMEで日本語を入力できるようにする)のままモードの切り替えができなかったり、モードを挿入モードにすると日本語入力にいちいち変えないといけない。

そこで、挿入モードに変えた時に自動的に日本語設定になって、コマンドモードに変えた時に自動的に日本語設定をOFFにできるらしいのでやってみた。

それを「日本語入力固定モード」と「vi協調モード」というらしい。

基本的には(というかほぼ全部)このサイトのとおりです。

Vim/GVimで「日本語入力固定モード」を使用する - fudist
https://sites.google.com/site/fudist/Home/vim-nihongo-ban/vim-japanese/ime-control

ここでは、このサイトを参考に自分のしたことを書いていきます。

まず、下のサイトから「日本語入力固定モード」に必要なファイルをダウンロードします。

fuenor/im_control.vim · GitHub
https://github.com/fuenor/im_control.vim

解凍して、中のpluginとdocを"~/.vim/"にコピーします。

そして、次を"~.vimrc"にエディタを使って追加します。

"ステータスバーを常に表示
set laststatus=2 

" 「日本語入力固定モード」切替キー
inoremap   =IMState('FixMode')
" PythonによるIBus制御指定
let IM_CtrlIBusPython = 1
" 押下後のIM切替開始までの反応が遅い場合は設定する
"set timeout timeoutlen=3000 ttimeoutlen=100
" 「日本語入力固定モード」がオンの場合、ステータス行にメッセージ表示
set statusline+=%{IMStatus('[日本語固定]')}
" im_control.vimがない環境でもエラーを出さないためのダミー関数
function! IMStatus(...)
  return ''
endfunction

自分の環境は「IM切り替え開始までの反応が遅い場合は設定する」を設定しなくても素早く切り替わっていました。

ここで、上の参考サイトとちょっと違うところは、一番上の「ステータスバーを常に表示」を書かないとメッセージを表示しない事でした。


これを書きこむと設定おkです。


使い方は

●「日本語入力固定モード」  「Ctrl + j」

 "ctrl + j"を押すと、一度"Esc"を押してコマンドモードになっても挿入モードになったら自動的に日 本語設定ONになる。

 "ctrl + j"を押すと、下に戻る。


●「vi協調モード」
 日本語設定ONのまま"Esc"を押してもきちんとコマンドモードに変わる

参考にしたサイト

sh1.2 pyblosxom : vim設定
http://sh1.2-d.jp/b/2007-04-18-02-27.html

0 件のコメント:

コメントを投稿