colorscheme - vim colours
Cambio de color de Vim CursorLine en modo de inserciĆ³n (3)
¿Has visto el comando ''resaltar'' que es una forma más fácil de controlar esto?
Por ejemplo, para cambiar el CursorLine,
:hi CursorLine guifg=red guibg=blue
Referencia: ayuda resaltar
Para hacerlo cambiar de modo.
" 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
Puede ser posible mezclar el color termcap con autocmd, pero IMO, resaltar es más fácil de mantener a largo plazo (y en caso de usar gVim ocasionalmente)
Hay un buen fragmento para cambiar el color del 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
¿Cómo debo modificar esto para que, en lugar del cursor, CursorLine cambie de color, por ejemplo, de azul oscuro a azul?
Mi configuración completa es https://bitbucket.org/JackLeo/home-configs/src/5b8faf340f87/.vimrc
Cuando use MacVim con ''Lokaltog/vim-powerline'' , puede configurar sus colores normales / visuales / de inserción para que coincidan con el color del modo powerline. Encuentro esto extremadamente útil para saber en qué modo estoy sin leer la línea de alimentación, especialmente en una pantalla grande.
Aquí está el código que estoy usando, basado en la respuesta de @Zarick-Lau.
En mi archivo colors/molokai.vim
:
" Visual Mode Orange Background, Black Text
hi Visual guifg=#000000 guibg=#FD971F
" Default Colors for CursorLine
highlight CursorLine guibg=#3E3D32
highlight Cursor guibg=#A6E22E;
" Change Color when entering Insert Mode
autocmd InsertEnter * highlight CursorLine guibg=#323D3E
autocmd InsertEnter * highlight Cursor guibg=#00AAFF;
" Revert Color to default when leaving Insert Mode
autocmd InsertLeave * highlight CursorLine guibg=#3E3D32
autocmd InsertLeave * highlight Cursor guibg=#A6E22E;
Aquí hay un ejemplo usando el esquema de color original de molokai.
Normal
Visual
Insertar
También me resulta útil configurar el sistema operativo para que seleccione visualmente usando el mismo color. Por ejemplo, he cambiado mi color de resaltado a Orange
en OSX, y cuando selecciono texto, ahora es naranja en lugar de azul, igual que en VIM.
Ejemplo
Aquí el resaltado naranja se usa en el cuadro de texto mientras escribo esta entrada de Desbordamiento de pila. Ahora todo el texto que selecciono en mi sistema operativo coincide con la configuración de VIM.
Esto es bastante sencillo, ponga lo siguiente en su .vimrc
o programa de colorscheme personalizado.
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
Para más información, ver:
NB: puede usar el mismo método para cambiar el color del cursor sin todos esos if
-estaciones y secuencias de escape (y esto también funcionará en GVim).