menu
書いてる野郎
orebike@gmail.com
2011-05-31
まず前提としてカーソル形状というのはターミナルの持ち物ということ。サーバから文字情報プラスアルファの情報が飛んできてそれを解釈して画面にズラズラと表示させてるだけ。
なのでターミナルがカーソル形状変更に対応してくれてないといかない
Macの場合はカーソル形状コントロールできるターミナルはiTerm2ということがわかったのでそれを使い
$HOME/.vimrc
に↓のように設定する。試したところ、insertモードから抜けたときにカーソルが変化せず、ちょっと動かすと変化するようになったので抜けると同時ちょっと動かしてすぐにもとの場所に戻ってくるように記述している。
let &t_SI = "\<Esc>]50;CursorShape=1\x7" let &t_EI = "\<Esc>]50;CursorShape=0\x7" inoremap <Esc> <Esc>gg`]
↑この更新タイミングの問題は、 Vim/insertモードでカーソルキーが使えない と理由がにている気がするのでもしかしたら同じ対応で直るかも