Jer*_*lim 10 vim gnome-terminal cursor
我正在从 Gvim 切换到使用 Gnome 终端 2.32.1 的控制台 Vim。
我真的很喜欢在 Gvim 中光标在正常模式下是一个实心方块,而在插入模式下是细线。
在 Gnome 终端中运行控制台 Vim 时,有没有办法产生此功能?
如果不可能,有什么技巧可以知道你处于什么模式?我知道屏幕底部显示了模式,但这似乎没有光标有用(这是我的眼睛看的地方)。或者你只是通过练习来习惯它?
不需要为此使用自动命令或 gconftool - Vim 现在本身就支持它。
将以下行插入您的 vimrc:
let &t_SI = "\<esc>[5 q" " blinking I-beam in insert mode
let &t_SR = "\<esc>[3 q" " blinking underline in replace mode
let &t_EI = "\<esc>[ q" " default cursor (usually blinking block) otherwise
Run Code Online (Sandbox Code Playgroud)
自 2014 年底发布的 VTE 0.39 版以及 xterm 以来,这些序列应该适用于所有基于 VTE 的终端仿真器。如果您想停止光标闪烁,请为每个数字加一个,然后将 a2插入序列中t_EI(此答案中列出了可能的序列;另请参阅VT510 手册)。
对于 gnome-terminal,将其添加到您的~/.vimrc(如果缺少则创建):
if has("autocmd")
au InsertEnter * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape ibeam"
au InsertLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape block"
au VimLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape ibeam"
endif
Run Code Online (Sandbox Code Playgroud)
在这里找到:在不同模式下更改光标形状。
编辑
将最后一个更改ibeam为block, 以离开块光标。