首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Vim中的Normal和Insert模式之间切换光标?

如何在Vim中的Normal和Insert模式之间切换光标?
EN

Stack Overflow用户
提问于 2011-06-27 12:49:15
回答 8查看 81K关注 0票数 133

如果可能,我想知道如何更改Vim中的光标(颜色、形状等)这取决于您所处的模式。

我经常忘记我不是在插入模式,而是开始输入代码,这导致了各种疯狂的事情发生。如果光标上有某种视觉指示,这将是很有帮助的。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-06-27 14:34:26

指示切换到插入模式和从插入模式切换的一种流行方法是切换cursorline选项,该选项负责当前屏幕行是否突出显示(请参见:help cursorline):

代码语言:javascript
复制
:autocmd InsertEnter,InsertLeave * set cul!

或者,或者:

代码语言:javascript
复制
:autocmd InsertEnter * set cul
:autocmd InsertLeave * set nocul

修改CursorLine高亮显示组以根据您的喜好更改光标线的样式(请参阅:help :highlight:help highlight-groups)。

票数 120
EN

Stack Overflow用户

发布于 2011-06-27 12:54:37

要在不同模式下更改光标的形状,可以将以下内容添加到.vimrc文件中。

对于GNOME终端(2.26版):

代码语言:javascript
复制
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

如果您在GNOME终端中使用多个配置文件,则可能需要根据您的配置文件进行调整。

对于KDE4中的Konsole:

代码语言:javascript
复制
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"

这适用于多个选项卡和窗口。

另请参阅:Vim Tips Wiki上的“Change cursor shape in different modes”。

票数 13
EN

Stack Overflow用户

发布于 2014-03-07 04:25:16

我发现只在插入模式下让光标闪烁,而在其他模式下保持它不动是很有用的。

代码语言:javascript
复制
set guicursor+=n-v-c:blinkon0
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6488683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档