如何在不同模式下改变vim编辑器中光标的形状

8
我在Mac上使用iTerm2,或者在Windows上使用putty来使用vim。我想在不同的vim模式下看到不同的光标形状。我知道gvim和macvim有此功能,并且有一篇文章可以解决在gnome-terminal和KConsole中如何实现此功能的问题。但是我无法在iTerm2和Putty中找到任何解决方案。
4个回答

3

这个插件由伟大的Steve Losh制作,可以处理iTerm2。我不知道Putty是否可用。


1

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


1

我使用这个插件已经很长时间了,它在Konsole上运行得非常完美,同时也支持许多术语。

文档中写道:

目前支持的终端有Mac上的iTerm2(需要版本1.0.0.20130602 beta或更高版本),基于VTE3的终端(包括gnome-terminal)和KDE的Konsole。xterm控制台也部分受支持。旧版的xterm不支持行光标,因此此插件当前将光标设置为下划线。

基于旧版VTE3的终端(v0.39之前的版本)不支持通过转义序列更改光标,因此不受支持。在不受支持的终端上,Vim的默认行为保持不变。

该插件还支持tmux,并会在tmux会话中更改您的光标。


0

我认为你不需要安装任何插件,你可以改变 [putty 配置] -> 窗口 -> 外观 -> [光标外观] -> [竖线]。

这样会更加方便。

而且我认为改变 vim 光标是不必要的,因为如果你改变了形状,很难找到光标!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接