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

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:


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 \> /

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'.


15

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.