No Vim, como você procura um caractere de limite de palavra, como o \ b no regexp?

139

Eu gostaria de poder pesquisar

/the\b

para encontrar "o" mas não "então" .

Também tentei pesquisar com muita magia ativada:

/\vthe\b
Kortina
fonte

Respostas:

156

/the\>

Vejo :help /ordinary-atom

Presumo que "regexp" significa PCRE . Vale a pena notar que a sintaxe da expressão regular do Vim difere (e aparentemente é anterior) do PCRE.

Veja também:

Adam Monsen
fonte
1
por que não funcionaria? O vim não está em conformidade com o regex?
Kwolf
4
Estou assumindo que você quer dizer expressões regulares compatíveis com Perl. A sintaxe regex do Vim é anterior ao PCRE. Eu adicionei links para perguntas relacionadas.
Adam Monsen
"regexp" não significa PCRE. É simplesmente um sinônimo de "regex".
Henrebotha
68

Use \<e \>para início e fim da palavra, respectivamente.

Por exemplo, no seu caso específico, você usaria:

/ the \> /
Luke Girvin
fonte
36

Se very magicestiver ativado, você não deve escapar do >personagem. Veja o que é pesquisa mágica . Portanto, no seu caso, você faria:

/\v<the>

procuraria apenas a palavra 'the'.

Prasanna Natarajan
fonte
15

se você estiver tentando pesquisar uma palavra no seu cursor. você pode simplesmente clicar *ou #para pesquisa reversa.

Rochoso
fonte