tutorial editar descargar commands comandos vim highlighting

editar - vim python



¿Hay alguna forma de resaltar búsquedas múltiples en(g) Vim? (10)

Quiero buscar múltiples cadenas en Vim / gVim y tenerlas resaltadas en diferentes colores. ¿Hay alguna forma de hacer esto con Vim out-box o con un plug-in?


El complemento My Mark puede resaltar varias palabras en diferentes colores simultáneamente, como la búsqueda incorporada. Viene con muchas asignaciones y comandos, permite persistir los patrones y admite múltiples paletas de colores.


Esto puede hacerse manualmente, sin ningún script, para dos patrones de búsqueda.

:match Search /pattern/ :match Search /<CTRL-R>/ # highlight the current search pattern

Buscar es el nombre del grupo resaltado, use la opción de completar para seleccionar otro grupo para resaltar con un color diferente.

:match <TAB> :match <TAB> # completion will list all highlight group

Esto puede ser útil cuando no puede usar su propia configuración de vim.

:match none # clear the match pattern to stop highlighting


Hay dos formas simples de resaltar varias palabras en el editor vim.

  1. Vaya al modo de búsqueda, es decir, escriba '' / '' y luego escriba / v seguido de las palabras que desea buscar separadas por '' | ''(tubería).
    Ej: / / vword1 | word2 | word3
  2. Vaya al modo de búsqueda y escriba las palabras que desea buscar separadas por '' / | ''.
    Ej: / word1 / | word2 / | word3

Básicamente, la primera forma lo coloca en el modo de expresión regular para que no necesite colocar barras diagonales adicionales antes de cada tubería u otros delimitadores utilizados para la búsqueda.



Para buscar múltiples cadenas en vim puedes hacer lo siguiente:

/search1/|search2

Esto funciona, y resaltará tanto search1 como search2 , pero con el mismo color. Tienes que hacer esto en el editor vim.



Sí, out-of-the-box puedes usar matchadd() .

Para agregar un resaltado, ej. para espacios en blanco al final:

:highlight ExtraWhitespace ctermbg=grey guibg=grey :call matchadd(''ExtraWhitespace'', ''/s/+$'', 11)

Para ver todas las coincidencias:

:echo getmatches()

Para eliminar coincidencias, use matchdelete() . P.ej.:

:call matchdelete(7)


MultipleSearch : Resalta múltiples búsquedas al mismo tiempo, cada una con un color diferente.

http://www.vim.org/scripts/script.php?script_id=479

: Search // resaltará todas las ocurrencias de en el búfer actual. A posterior: Search resaltará todas las ocurrencias de en el búfer actual.



:%s /red/|green/|blue/

Sin embargo, no estoy seguro acerca de cómo mantener diferentes colores para diferentes palabras clave. Gracias.