我在 Mac 的 iTerm2 下使用 vim,或者在 windows 中使用 putty。我想在不同的 vim 模式下看到不同的 vim 光标形状。我知道 gvim 和 macvim 有这个功能,并且有一篇文章说明如何在 gnome-terminal 和 KConsole 中做到这一点。但我在 iTerm2 和 Putty 中找不到任何解决方案。
4 回答
伟大的 Steve Losh 的这个插件负责 iTerm2。我不知道腻子。
我使用这个插件很长时间了,它与 Konsole 完美配合,但它也支持很多术语。
文档说:
当前支持的终端是 Mac 的 iTerm2(需要 1.0.0.20130602 测试版或更高版本)、基于 VTE3 的终端(包括 gnome-terminal)和 KDE 的 Konsole。xterm 控制台也得到部分支持。较旧的 xterm 不支持行光标,因此该插件当前将光标设置为下划线。
旧版本的基于 VTE3 的终端(v0.39 之前)不支持通过转义序列更改光标,因此不受支持。在不受支持的终端上,Vim 的默认行为保持不变。
该插件还支持 tmux,并且也会在 tmux 会话中更改您的光标。
我认为你不应该安装任何插件,你可以改变[腻子重新配置]->窗口->外观->[光标外观]->[垂直线],
它更方便。
而且我认为改变vim光标是不必要的,因为如果你改变形状它几乎找不到光标!
Steve Losh ( https://github.com/sjl/vitality.vim ) 的插件对某些人来说有点问题(当您在 iTerm2 的选项卡之间切换时,会添加奇怪的字符来代替光标)。
将此添加到您的 .vimrc 对我有用:
" Change cursor shape between insert and normal mode in iTerm2.app
if $TERM_PROGRAM =~ "iTerm"
let &t_SI = "\<Esc>]50;CursorShape=1\x7" " Vertical bar in insert mode
let &t_EI = "\<Esc>]50;CursorShape=0\x7" " Block in normal mode
endif
归功于 Erlend Hamberg: http ://hamberg.no/erlend/posts/2014-03-09-change-vim-cursor-in-iterm.html