将光标设置为vim中的垂直细线

时间:2013-04-22 00:14:44

标签: vim

我试图将插入模式中的光标设置为细垂直线,我无法做到。我在我的.vimrc文件中试过这个:

set guicursor+=i:ver100-iCursor

在插入模式下,它不会将光标设置为垂直条。

我缺少什么,我该怎么做?

3 个答案:

答案 0 :(得分:13)

我的/home/el/.vimrc中的此代码适用于我的控制台:

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

这对我来说是这样的:

enter image description here

<强>来源:

https://hamberg.no/erlend/posts/2014-03-09-change-vim-cursor-in-iterm.html

答案 1 :(得分:11)

这就是诀窍:

set guicursor=i:ver25-iCursor

我必须将100缩减为25

答案 2 :(得分:1)

对于gnome终端版本&gt; 3.15
将其添加到〜/ .vimrc中。

if has("autocmd")
  au VimEnter,InsertLeave * silent execute '!echo -ne "\e[2 q"' | redraw!
  au InsertEnter,InsertChange *
\ if v:insertmode == 'i' | 
\   silent execute '!echo -ne "\e[6 q"' | redraw! |
\ elseif v:insertmode == 'r' |
\   silent execute '!echo -ne "\e[4 q"' | redraw! |
\ endif
au VimLeave * silent execute '!echo -ne "\e[ q"' | redraw!
endif

您将在正常模式下获得一个块光标,在插入模式下获得一个较小的光标。