En Vim, ¿cómo busca un carácter de límite de palabra, como \ b en regexp?

139

Me gustaría poder buscar

/the\b

para encontrar "el" pero no "entonces" .

También intenté buscar con mucha magia activada:

/\vthe\b
kortina
fuente

Respuestas:

156

/the\>

Ver :help /ordinary-atom

Supongo que "regexp" significa PCRE . Vale la pena señalar que la sintaxis de expresiones regulares de Vim difiere de (y aparentemente es anterior a) PCRE.

Ver también:

Adam Monsen
fuente
1
¿Por qué no funcionaría? vim no se ajusta a la expresión regular?
Kwolf
44
Supongo que te refieres a expresiones regulares compatibles con Perl. La sintaxis de expresiones regulares de Vim es anterior a PCRE. Agregué enlaces a preguntas relacionadas.
Adam Monsen
"regexp" no significa PCRE. Es simplemente un sinónimo de "regex".
henrebotha
68

Use \<y \>para inicio y final de palabra, respectivamente.

Por ejemplo, en su caso específico usaría:

/ the \> /
Luke Girvin
fuente
36

Si very magicestá activado, entonces no deberías escapar del >personaje. Mira qué es la búsqueda mágica . Entonces, en tu caso, harías:

/\v<the>

buscaría solo la palabra 'el'.

Prasanna Natarajan
fuente
15

si está intentando buscar una palabra en su cursor. simplemente puede presionar *, o #para buscar hacia atrás.

Rocoso
fuente