Vim/ターミナルでもモード変化によってカーソル形状を変える

Vim/ターミナルでもモード変化によってカーソル形状を変える

バージョンと製造年月日

2011-05-31

準備

まず前提としてカーソル形状というのはターミナルの持ち物ということ。サーバから文字情報プラスアルファの情報が飛んできてそれを解釈して画面にズラズラと表示させてるだけ。

なのでターミナルがカーソル形状変更に対応してくれてないといかない

Macの場合

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モードでカーソルキーが使えない と理由がにている気がするのでもしかしたら同じ対応で直るかも

Linuxの場合

タグ

editor/vim/change_cursor_shape_in_terminal_with_mode_change.txt · 最終更新: 2017-09-27 10:48 by ore