Pregunta
¿Hay una manera de buscar múltiples cadenas simultáneamente en Vim? Recuerdo haber leído en alguna parte que era posible, pero de alguna manera olvidé la técnica.
Por ejemplo, tengo un archivo de texto y quiero buscar " foo " y " barra " simultáneamente (no necesariamente como una sola cadena, puede estar en diferentes líneas en total).
¿Cómo logro eso?
Solución
/^joe.*fred.*bill/ : find joe AND fred AND Bill (Joe at start of line)
/fred\|joe : Search for FRED OR JOE
Otros consejos
En realidad, encontré la respuesta poco después de haber publicado esto (sí, lo hice en Google antes pero no pude encontrarlo. Probablemente solo estaba buscando mal)
La solución correcta es
/ (foo \ | bar)
@Paul Betts: la tubería debe escaparse
Vim admite expresiones regulares al comenzar en el modo de comando con una '/'.
Usando algo como " / (foo \ | bar) " (como se dijo antes) resolvería el problema. Es bueno saber por qué funciona eso y qué está usando (expresiones regulares).
/(foo|bar)