CLI編集チームとしてOSX10.7.5上でiTerm2(ビルド1.0.0.20130319)とVim(MacVimスナップショット66のビン)を使用しています。
iTerm2では、点滅しない垂直バーをカーソル形状として使用するように定義しました。Vimで私は定義しました
" Enter insert mode (Cursor shape: vertical bar)
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
" Leave insert mode (Cursor shape: block)
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
挿入モードと通常モードを区別できるようにします。基本的にこれは問題なく動作します。Vimを離れてCLIに戻ると問題が発生します。何が起こるかというと、カーソルは元の形(垂直バー)に戻りません。代わりに、ブロック形状のままにすることを決定します。
カーソルを初期の形にリセットしたり、強制的に垂直バーに戻したりできますか?たとえば「VimLeave」でイベントをトリガーすることを想像できます。しかし、エスケープシーケンスとして何を渡すことができるかわかりません。