Di Vim, bagaimana Anda mencari karakter batas kata, seperti \ b di regexp?


139

Saya ingin dapat mencari

/the\b

untuk menemukan " tetapi " bukan "lalu" .

Saya juga mencoba mencari dengan sihir yang dihidupkan:

/\vthe\b

Jawaban:


156

/the\>

Lihat :help /ordinary-atom

Saya menganggap "regexp" berarti PCRE . Perlu dicatat bahwa sintaks regex Vim berbeda dari (dan tampaknya mendahului) PCRE.

Lihat juga:


1
mengapa tidak bekerja? vim tidak sesuai dengan regex?
— Kwolf

4
Saya berasumsi maksud Anda Perl Regular Regular Expressions. Sintaks regex Vim mendahului PCRE. Saya menambahkan tautan ke pertanyaan terkait.
— Adam Monsen

"regexp" tidak berarti PCRE. Ini hanya sinonim dengan "regex".
— henrebotha

68

Gunakan \<dan \>untuk kata mulai dan akhir kata, masing-masing.

Misalnya dalam kasus spesifik Anda, Anda akan menggunakan:

/ the \> /

36

Jika very magicdihidupkan, maka Anda tidak harus melarikan diri dari >karakter. Lihat apa pencarian ajaib . SO dalam kasus Anda, Anda akan melakukan:

/\v<the>

hanya akan mencari kata 'the'.


15

jika Anda mencoba mencari kata di kursor Anda. Anda bisa menekan *, atau #untuk pencarian mundur.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.