Wie suchen Sie in Vim nach einem Wortbegrenzungszeichen wie dem \ b in regulärem Ausdruck?

139

Ich möchte suchen können

/the\b

zu finden „ die“ aber nicht „ dann“ .

Ich habe auch versucht, mit sehr magischer Wirkung zu suchen :

/\vthe\b
kortina
quelle

Antworten:

155

/the\>

Sehen :help /ordinary-atom

Ich gehe davon aus, dass "regulärer Ausdruck" PCRE bedeutet . Es ist erwähnenswert, dass sich die Regex-Syntax von Vim von PCRE unterscheidet (und anscheinend älter ist).

Siehe auch:

Adam Monsen
quelle
1
warum würde \ b nicht funktionieren? vim entspricht nicht dem regulären Ausdruck?
Kwolf
4
Ich gehe davon aus, dass Sie Perl-kompatible reguläre Ausdrücke meinen. Die Regex-Syntax von Vim ist älter als PCRE. Ich habe Links zu verwandten Fragen hinzugefügt.
Adam Monsen
"Regexp" bedeutet nicht PCRE. Es ist einfach ein Synonym für "Regex".
Henrebotha
68

Verwenden Sie \<und \>für Wortanfang bzw. Wortende.

ZB In Ihrem speziellen Fall würden Sie verwenden:

/ the \> /
Luke Girvin
quelle
36

Wenn very magicaktiviert, sollten Sie dem >Charakter nicht entkommen . Sehen Sie, was magische Suche ist . Also in Ihrem Fall würden Sie tun:

/\v<the>

es würde nur nach dem Wort 'the' suchen.

Prasanna Natarajan
quelle
15

wenn Sie versuchen, ein Wort an Ihrem Cursor zu suchen. Sie können einfach drücken *oder #für die Rückwärtssuche.

Felsig
quelle