Vim: Cómo cambiar el color de resaltado para resultados de búsqueda y selección de corrección rápida

124

Estoy usando el esquema de colores del desierto, que usa texto blanco sobre fondo naranja para resaltar los resultados de búsqueda. Se utiliza el mismo patrón para la entrada seleccionada en la ventana de corrección rápida.

El blanco sobre naranja no es muy legible. ¿Cómo cambio eso en .vimrc?

Editar: Gracias por la respuesta rápida, para el esquema del desierto ahora estoy usando la siguiente modificación de resaltado de búsqueda:

highlight Search guibg='Purple' guifg='NONE'

El púrpura es bastante fácil de detectar visualmente y, en mi humilde opinión, no se usa para colorear sintaxis en el esquema del desierto.

Juve
fuente

Respuestas:

162

Mira $VIMRUNTIME/colors/desert.vim. Las asignaciones de color se definen allí con el hi[ghlight]comando. El resaltado de búsqueda se define como

hi Search guibg=peru guifg=wheat

para la GUI y

hi Search cterm=NONE ctermfg=grey ctermbg=blue

para terminales.

Puede anular esta configuración en su .vimrcusando el mismo comando después de seleccionar su colorscheme. Escriba :h hipara obtener ayuda.

Ferdinand Beyer
fuente
2
¡Oye! Me acabas de dar otra pista. Siempre he usado: help en lugar de: h;)
Juve
2
Encontré el esquema de color de la torta para satisfacer mis necesidades muy bien. : tarta de esquema de colores
James Mills
13
También es posible que deba hacerlo :set hlsearchsi los resultados de su búsqueda no se destacan en absoluto.
Jeff Allen
Para hacer esto una vez para su sesión de vim actual y no persistir los cambios, simplemente ejecútelo en modo ex ( :) delante del hicomando::hi Search cterm=NONE ctermfg=grey ctermbg=blue
Nitrodist
Puedo ver que esto resalta todas las instancias. ¿Cómo se cambia el resaltado de la instancia en la que se encuentra actualmente el cursor?
Costa
49

Para mí tengo que añadir también hlsearch bajo syntax onen el~/.vimrc

set hlsearch
hi Search ctermbg=LightYellow
hi Search ctermfg=Red

Dentro de VIM también puedes hacer: :highlight Search ctermfg=yellowcambiarlo sobre la marcha.

  • ctermfg es para el color de primer plano
  • ctermbg es para el color de fondo

Los colores disponibles en la página de documentación de vi son:

*cterm-colors*

NR-16   NR-8    COLOR NAME 
0       0       Black
1       4       DarkBlue
2       2       DarkGreen
3       6       DarkCyan
4       1       DarkRed
5       5       DarkMagenta
6       3       Brown, DarkYellow
7       7       LightGray, LightGrey, Gray, Grey
8       0*      DarkGray, DarkGrey
9       4*      Blue, LightBlue
10      2*      Green, LightGreen
11      6*      Cyan, LightCyan
12      1*      Red, LightRed
13      5*      Magenta, LightMagenta
14      3*      Yellow, LightYellow
15      7*      White
LeOn - Han Li
fuente
6

En mi caso, la línea en la ventana QuickFix mostraba un gris ilegible en cian, que era diferente a los resultados de mi búsqueda (un negro más agradable en melocotón) Esto fue confirmado por el comando

:hi

que mostraba el formato de QuickFixLiney Searchcomo se estableció en

QuickFixLine   xxx term=reverse guibg=Cyan
Search         xxx term=reverse ctermfg=0 ctermbg=222 guifg=#000000 guibg=#FFE792

donde xxxtenía un formato de muestra,

Agregué la siguiente línea a mi ~/.vimrc

hi QuickFixLine term=reverse ctermbg=52

y ahora en la ventana de mi terminal tengo un fondo rojo oscuro más agradable. La ejecución hi:muestra la adición del cambio de color de fondo para mi ternimal:

QuickFixLine   xxx term=reverse ctermbg=52 guibg=Cyan

(vim 8 en MacOS High Sierra en iTerm2, con tema molokai)

Spangen
fuente