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.