Dans Vim, comment recherchez-vous un caractère de limite de mot, comme le \ b dans l'expression rationnelle?

142

J'aimerais pouvoir rechercher

/the\b

pour trouver "le" mais pas "alors" .

J'ai également essayé de rechercher avec très magique activé:

/\vthe\b
kortina
la source

Réponses:

158

/the\>

Voir :help /ordinary-atom

Je suppose que "regexp" signifie PCRE . Il est à noter que la syntaxe des expressions régulières de Vim diffère de (et apparemment est antérieure à) PCRE.

Voir également:

Adam Monsen
la source
1
pourquoi \ b ne fonctionnerait-il pas? vim n'est pas conforme à regex?
Kwolf
4
Je suppose que vous parlez d'expressions régulières compatibles Perl. La syntaxe regex de Vim est antérieure à PCRE. J'ai ajouté des liens vers des questions connexes.
Adam Monsen
"regexp" ne signifie pas PCRE. C'est simplement un synonyme de "regex".
henrebotha
68

Utilisez \<et \>pour le début et la fin du mot, respectivement.

Par exemple, dans votre cas particulier, vous utiliseriez:

/ le \> /
Luke Girvin
la source
36

Si very magicest activé, vous ne devriez pas échapper au >personnage. Découvrez ce qu'est la recherche magique . SO dans votre cas, vous feriez:

/\v<the>

il ne rechercherait que le mot «le».

Prasanna Natarajan
la source
15

si vous essayez de rechercher un mot à votre curseur. vous pouvez simplement frapper *, ou #pour une recherche en arrière.

Rocheux
la source