2009-04-01 27 views

Respuesta

2

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

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

: Buscar // resaltará todas las apariciones de en el búfer en uso. A posterior: La búsqueda resaltará todas las ocurrencias de en el búfer actual.

35

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

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

de búsqueda es el nombre del grupo resaltado, utilice la finalización para seleccionar otro grupo para poner de relieve con un color diferente.

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

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

:match none  # clear the match pattern to stop highlighting 
+4

No funcionó para mí. Para cualquiera que se lo intente, intente esto: http://stackoverflow.com/questions/4162664/vim-highlight-a-list-of-words#comment4494852_4162735 –

5

Sí, de fábrica se puede usar matchadd().

Para agregar un resaltado, p. Ej. por espacios en blanco:

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

Para ver todos los partidos:

:echo getmatches() 

Para quitar partidos utilizan matchdelete(). Ej .:

:call matchdelete(7) 
1

Mi Mark plugin puede poner de relieve varias palabras en diferentes colores simultáneamente, como la búsqueda integrada. Viene con muchas asignaciones y comandos, permite persistir los patrones y admite múltiples paletas de colores.

+0

¿Tiene la página github con la descripción de la guía? No es fácil de leer en vim.org. Además, no es fácil informar problemas. –

+0

¿Cómo puedo instalar este complemento de Vundle? Debido a que el código en github vim-scripts es demasiado viejo. –

+0

@LiMingHung Esa versión de vim-scripts funcionará, pero sí, está desactualizada. Podrías pedirle a los muchachos de vim-scripts que lo actualicen; tienen algunos problemas molestos con su raspador. –

19

Para buscar múltiples cadenas en vim se puede hacer como:

/search1\|search2 

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

+0

¿qué ocurre si desea buscar search1 pero no coincide con search2, cómo puedo modificar esa línea de comando en vim? – medev21

29

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

  1. Ir al modo de búsqueda, es decirescriba '/' y luego escriba \ v seguido de las palabras que desea buscar separadas por '| '(tubería).
    Ex: /\ vword1 | palabra2 | word3
  2. Ir al modo de búsqueda y escriba las palabras que desea buscar separados por '\ | '.
    Ex: /palabra1 \ | palabra2 \ | word3

Básicamente, la primera manera te pone en el modo de expresión regular de modo que no es necesario poner ninguna vuelta extra de barras antes de utilizarse todas las tuberías u otros delimitadores para buscar

Cuestiones relacionadas