Dependiendo de la cadena exacta que está buscando, el prefijo \V
probablemente el truco.
Ver :help \V
:
after: \v \m \M \V matches ~
'magic' 'nomagic'
$ $ $ \$ matches end-of-line
. . \. \. matches any character
* * \* \* any number of the previous atom
() \(\) \(\) \(\) grouping into an atom
| \| \| \| separating alternatives
\a \a \a \a alphabetic character
\\ \\ \\ \\ literal backslash
\. \. . . literal dot
\{ { { { literal '{'
a a a a literal 'a'
Así que si tengo una cadena hello.*$world
, puedo usar el comando /\V.*$
para encontrar justo .*$
- la única parte de la cadena de de que fuera necesario escapando es otra barra invertida, pero todavía se puede agrupar, etc. escapando del símbolo especial.
Otro comando que puede utilizar para "evitar" barras diagonales es:
:g #\V((N/N)/(N/N))/N#
El comando :g
es una búsqueda global, señalando que:
:[range]g[lobal]/{pattern}/[cmd]
Execute the Ex command [cmd] (default ":p") on the
lines within [range] where {pattern} matches.
Instead of the '/' which surrounds the {pattern}, you can use any other
single byte character, but not an alphanumeric character, '\', '"' or '|'.
This is useful if you want to include a '/' in the search pattern or
replacement string.
Entonces, ¿dónde he usado un #
, puede usar ?
, @
o cualquier otro carácter que cumpla la condición anterior. El truco con el comando :g
es que espera un comando al final, por lo que si no tiene un espacio posterior después del carácter final, no realizará la búsqueda como era de esperar. Y nuevamente, aunque esté usando \V
, igual tendrá que escapar de las barras diagonales inversas.
Si eso todavía no corta por usted, this Nabble post tiene una sugerencia que toma una cadena literal con barras invertidas incrustados y otros caracteres especiales Vim, y afirma que buscarlo sin ningún problema; pero requiere crear una función Vim, que puede o no estar bien en su entorno.
En 'less', puede desactivar la expresión regular con'/'' Ctrl-R'. – blubb