Vim でカーソルを通常モードと挿入モードの間で切り替えるにはどうすればいいですか? 質問する

Vim でカーソルを通常モードと挿入モードの間で切り替えるにはどうすればいいですか? 質問する

可能であれば、現在のモードに応じて Vim のカーソル (色、形など) を変更する方法を知りたいです。

挿入モードではないことを忘れてコードを入力し始めることが頻繁にあり、その結果、さまざまなおかしなことが起こります。カーソルに何らかの視覚的な表示があれば便利です。

ベストアンサー1

以下は、Linux 上の xterm、urxvt、その他のターミナル エミュレータ、macOS 上の iTerm2、Windows 上の ConEmu を使用した Git Bash などで動作します (コメントを参照)。

let &t_SI = "\e[6 q"
let &t_EI = "\e[2 q"

" reset the cursor on start (for older versions of vim, usually not required)
augroup myCmds
au!
autocmd VimEnter * silent !echo -ne "\e[2 q"
augroup END

その他のオプション( の後の数字を置き換えてください\e[):

Ps = 0  -> blinking block.
Ps = 1  -> blinking block (default).
Ps = 2  -> steady block.
Ps = 3  -> blinking underline.
Ps = 4  -> steady underline.
Ps = 5  -> blinking bar (xterm).
Ps = 6  -> steady bar (xterm).

使用する場合はtmux、このように(エスケープなしで)使用することが重要です\<Esc>Ptmux;。tmux は、ウィンドウ/ペインを切り替えるときに正しいカーソルの形状を追跡します。

うまくいかない場合は、TERM=xterm-256colortmuxを起動する前に設定するか、これを.tmux.confありがとう@Steven Lu):

set -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q'

おすすめ記事