In Vim, come cerchi un carattere di confine di parola, come il \ b in regexp?


142

Mi piacerebbe essere in grado di cercare

/the\b

per trovare "il" ma non "allora" .

Ho anche provato a cercare con la magia molto attiva:

/\vthe\b

Risposte:


158

/the\>

Vedere :help /ordinary-atom

Suppongo che "regexp" significhi PCRE . Vale la pena notare che la sintassi della regex di Vim differisce (e apparentemente precede) dal PCRE.

Guarda anche:


1
perché non dovrebbe funzionare? vim non è conforme a regex?
Kwolf,

4
Suppongo che intendi le espressioni regolari compatibili Perl. La sintassi della regex di Vim precede PCRE. Ho aggiunto collegamenti a domande correlate.
Adam Monsen,

"regexp" non significa PCRE. È semplicemente sinonimo di "regex".
henrebotha,

68

Utilizzare \<e \>per l'inizio e la fine delle parole, rispettivamente.

Ad esempio, nel tuo caso specifico useresti:

/ Il \> /

36

Se very magicè attivato, non dovresti sfuggire al >personaggio. Scopri cos'è la ricerca magica . Quindi nel tuo caso faresti:

/\v<the>

cercherebbe solo la parola "the".


15

se stai cercando di cercare una parola con il cursore. puoi semplicemente premere *, o #per la ricerca all'indietro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.