19

I use this color scheme: Cobalt Colour scheme.

I cannot see the cursor in insert mode.

How I can change the cursor's color?

I think this is the cursor part:

hi CursorLine     guifg=none              guibg=#002943
hi Cursor         guifg=#F8F8F8           guibg=#A7A7A7
hi CursorIM       guifg=#F8F8F8           guibg=#002947"#5F5A60
Matthias Braun
  • 32,039
  • 22
  • 142
  • 171
Tarek Saied
  • 6,482
  • 20
  • 67
  • 111

2 Answers2

37

@GWW is right. But the example above only works for gvim, not vim. You'd better configure in .vimrc as in the same documentation to make it work in xterm, for example:

if &term =~ "xterm\\|rxvt"
  " use an orange cursor in insert mode
  let &t_SI = "\<Esc>]12;orange\x7"
  " use a red cursor otherwise
  let &t_EI = "\<Esc>]12;red\x7"
  silent !echo -ne "\033]12;red\007"
  " reset cursor when vim exits
  autocmd VimLeave * silent !echo -ne "\033]112\007"
  " use \003]12;gray\007 for gnome-terminal
endif
troore
  • 777
  • 1
  • 6
  • 15
  • 8
    "ViM cannot change the color of your cursor; it will always be the color your terminal application decides to make it." https://unix.stackexchange.com/a/72800/166686 – Liviu Chircu Jul 12 '18 at 08:41
  • 4
    @LiviuChircu This is not true. Some terminals like `xterm` allow it. – t0r0X Feb 27 '20 at 20:14
19

There is quite a lot of information about how to set the insert mode cursor color in the vim documentation

Here is an example from the linked documentation:

highlight Cursor guifg=white guibg=black
highlight iCursor guifg=white guibg=steelblue
set guicursor=n-v-c:block-Cursor
set guicursor+=i:ver100-iCursor
set guicursor+=n-v-c:blinkon0
set guicursor+=i:blinkwait10

EDIT:

The i means insert mode, v visual, c command, and n normal

GWW
  • 43,129
  • 11
  • 115
  • 108