Jac*_*Leo 25 vim colors line cursor
有一个改变光标颜色的好片段:
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
我该怎么改变这个而不是光标,CursorLine会改变颜色,例如从深蓝色变为蓝色?
我的完整配置是https://bitbucket.org/JackLeo/home-configs/src/5b8faf340f87/.vimrc
Zar*_*Lau 33
您是否查看了'highlight'命令,这是一种更容易控制它的方法.
例如,要更改CursorLine,
:hi CursorLine guifg=red guibg=blue
参考::帮助突出显示
使其在模式之间切换.
" Enable CursorLine
set cursorline
" Default Colors for CursorLine
highlight  CursorLine ctermbg=Yellow ctermfg=None
" Change Color when entering Insert Mode
autocmd InsertEnter * highlight  CursorLine ctermbg=Green ctermfg=Red
" Revert Color to default when leaving Insert Mode
autocmd InsertLeave * highlight  CursorLine ctermbg=Yellow ctermfg=None
我可以将termcap颜色与autocmd混合,但IMO,突出显示更容易长期维护(如果偶尔使用gVim)
这非常简单,将以下内容放在您的.vimrc或自定义colorscheme文件中.
set cursorline
autocmd InsertEnter * highlight CursorLine guifg=white guibg=blue ctermfg=white ctermbg=blue
autocmd InsertLeave * highlight CursorLine guifg=white guibg=darkblue ctermfg=white ctermbg=darkblue
有关更多信息,请参阅
注意:您可以使用相同的方法更改光标的颜色,而不使用所有这些 - if语句和转义序列(这也适用于GVim).