Jak w Vimie szukać znaku granicy słowa, takiego jak \ b w wyrażeniu regularnym?

140

Chciałbym móc wyszukiwać

/the\b

znaleźć „to”, ale nie „wtedy” .

Próbowałem też szukać z włączoną bardzo magią :

/\vthe\b
kortina
źródło

Odpowiedzi:

156

/the\>

Widzieć :help /ordinary-atom

Zakładam, że „regexp” oznacza PCRE . Warto zauważyć, że składnia wyrażeń regularnych Vima różni się od (i najwyraźniej poprzedza) PCRE.

Zobacz też:

Adam Monsen
źródło
1
dlaczego nie miałoby działać? vim nie jest zgodny z wyrażeniem regularnym?
Kwolf
4
Zakładam, że masz na myśli wyrażenia regularne zgodne z Perl. Składnia wyrażeń regularnych Vima jest starsza niż PCRE. Dodałem linki do powiązanych pytań.
Adam Monsen
„regexp” nie oznacza PCRE. Jest to po prostu synonim wyrażenia „regex”.
henrebotha
68

Użyj \<i odpowiednio \>dla początku i końca słowa.

Np. W swoim konkretnym przypadku użyłbyś:

/ the \> /
Luke Girvin
źródło
36

Jeśli very magicjest włączona, nie powinieneś uciekać przed >postacią. Zobacz, czym jest magiczne wyszukiwanie . WIĘC w twoim przypadku zrobiłbyś:

/\v<the>

wyszukałby tylko słowo „the”.

Prasanna Natarajan
źródło
15

jeśli próbujesz wyszukać słowo w miejscu kursora. możesz po prostu uderzyć *, lub# przeszukać wstecz.

Skalisty
źródło