He comenzado a aprender la búsqueda de palabras Vim usando *y #mientras el cursor está sobre la palabra actual. Pero esta búsqueda se limita al búfer de archivo actual.
¿Hay un comando o un atajo para extender esta búsqueda a:
- todas las pestañas abiertas?
- todos los tampones abiertos?

Respuestas:
No tengo una solución exacta para su problema, espero que aparezca una respuesta mejor que la mía. Pero así es como abordé el problema de encontrar una palabra en todos los buffers.
La primera línea crea un comando
Searchcon el patrón de búsqueda como argumento, que escribe los resultados en una lista de soluciones rápidas. Las otras dos líneas asignan las teclas de flecha inútiles (al menos para mí) a algo útil; se asignan para saltar a la búsqueda siguiente / anterior o al error de compilación siguiente / anterior, etc., simplemente avanzan por la lista de soluciones rápidas. Puede usar esto de la siguiente manera:fuente
:cno:cpcambiar al siguiente documento.En realidad, es el comportamiento predeterminado, aunque puede ser difícil de notar: intente
*cambiar a otra pestaña y usenansNen el modo de comando para saltar hacia adelante y hacia atrás entre los resultados de búsqueda.Esto puede tener más sentido si primero activa el resaltado para todos los éxitos:
fuente
hlsearcheso no lo sabía, y cuál habría buscado un día u otro :-). Sin embargo, por defecto he intentado * #, ny N, y no salta a otros búferes de archivos ...nyNno salte buffers (se envuelven), pero el término al que se dirigen se busca en todas las pestañas; golpe*con el que destaca el ciclo de entonces a través de sus pestañas - todos ellos se resaltará con el mismo plazo, lo que puede utilizarnyNno localmente sin una nueva búsqueda.hlsearchconfigurado.fuente
Como me he encontrado haciendo esto frecuentemente, combiné un script (mejorable).
Usted u otra persona pueden encontrarlo útil.
Breve explicación:
Básicamente, busca en la lista de búfer y muestra el resultado en la ventana quickfix.
Se agregan dos comandos básicos.
Search <pattern>: Buscar todos los buffers para<pattern>.Search1 <pattern>: Busca todos los búferes<pattern>, pero solo muestra el primer resultado para cada búfer. Típicamente útil para enumerar todos los buffers dondefoose usa la función, variable (o lo que sea).Use bang (
:Search! foo) para agregar a los resultados.Además
GSearchyGSearch1se agrega donde la diferencia es que conSearchel script agregue delimitador de expresiones regulares, por ejemplo:Donde como se
GSearchespera que esté encerrado.La
jbandera siempre se agrega para evitar el salto.Código:
Hay algunos hacks para evitar la lista de errores y al mismo tiempo mantener el código corto.
try / catchfue un poco engorrosobufdo.fuente