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

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:


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

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.


15

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.