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

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:


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

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


15

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.