我想将 vim 光标自定义为闪烁的矩形块。我试过了这和这经过一些搜索后,我还找到了许多其他类似的东西,但它们都没有按预期发挥作用。
目前我的光标是一条不闪烁的灰色下划线(即下面最后一行字符“e”下方的下划线),很难识别。
当光标位于括号字符上时,它会变成一个块。(实际上我相信这是背景颜色的变化)我想要的是一直有这个块,并且闪烁。
我的 .vimrc 文件中没有与光标样式相关的内容。我使用的是 Mac OS X 10.9、终端版本 2.4 (326) 和 oh-my-zsh。在终端设置中,我使用 Pro 主题并将光标设置为下划线。我可以将其更改为阻止,这样 vim 中的光标也会发生变化,但我需要普通终端中的下划线光标。
答案1
您可以尝试一下这个.vimrc
:
let &t_SI="\033[4 q" " start insert mode
let &t_EI="\033[1 q" " end insert mode
这将设置插入模式的下划线和正常模式的块。更多详细信息:http://vt100.net/docs/vt510-rm/DECSCUSR
也可以在终端中使用此命令,其中 X 可以是 0、1、2、3 或 4。
printf '\033[X q'
答案2
您可能想尝试将其添加到您的 vimrc:
if exists('$TMUX')
let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
else
let &t_SI = "\<Esc>]50;CursorShape=0\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
endif
这应该为 tmux 或 iTerm 提供正确的转义序列。
我还发现这根据当前模式自动改变光标的插件。