vim の嫌いなところを頑張って設定で潰すためのメモ その1
vim に慣れてきて、こんな便利なんだもん、すげーやつだよと思えてきましたが、「だけどここは好きになれない!」って部分もあるのが事実です。
そんなところを潰すための設定をメモります。
INSERT mode から抜けるときに IME OFF
let &t_SI .= "\e[<0t" let &t_EI .= "\e[<0t" set timeoutlen=100
まずこれです。
&t_SI はインサートモード開始時に実行されるものを定義しています。「Start Insert」の略ですかね。
&t_EI はインサートモード終了時に実行されるものを定義しています。こっちは「End Insert」かな。
これらに \e[<0t を代入していますが 意味合いとしては「ESC[<0t」ということになります。
このような不思議なコードを入力しておくことで、以下のように ASCI エスケープシーケンスにより定義された動作をします。
ESC [ : CSI モードの開始 < Pn t : Pn が 0 の場合は IME OFF, Pn が 1 の場合は IME ON
これらをインサートモード開始・終了時両方で定義すると、インサートモード抜けたときにうっかり「日本語入力状態でした…イラッ」みたいなことが無くなります。
ちなみに set timeoutlen=100 は、それらの定義が反応するまでの時間です。あまり短い時間にしてしまうと回線遅延によって上手く動作しないことがあるそうです。