Untuk mencocokkan kata, seseorang dapat menggunakan
\v(\w+)
Dari bantuan vim :h \w
:
\ w karakter kata: [0-9A-Za-z_]
Ini berfungsi persis seperti yang dijelaskan dalam manual. Namun, saya ingin mencocokkan kata-kata yang mengandung karakter di luar a-z
, misalnya
prästgården . Mencocokkan ekspresi reguler \v(\w+)
dengan
hasil prästgården menjadi tiga pertandingan, sebagai gantinya:
prästgården
^^ ^^^ ^^^^
Bagaimana cara mencocokkan kata-kata yang mengandung karakter di luar a-z
? Lokal saya diatur ke bahasa Inggris dan jika mungkin saya ingin tetap seperti itu.
Sunting: Kata-kata mungkin bukan milik satu lokal, misalnya
prästgården
treść
\p{Word}
alih-alih kelas karakter POSIX. Ada banyak kasus pengecualian dalam penanganan kelas karakter POSIX Perl, yang Anda hindari ketika Anda menggunakan properti Unicode sebagai gantinya.
[[:alpha:]]\+
dalam kasus ini) seharusnya melakukan apa yang Anda inginkan di sini, tetapi menurut Vim docs (:help regex
) itu tidak: "Item ini hanya berfungsi untuk karakter 8-bit." Itu kebetulan bekerja di sini dengan Vim 7.3 pada OS X 10.8, tetapi Vim 7.3 di Linux tidak berfungsi, jadi saya berasumsi ada sesuatu yang spesifik Apple tentang Vim ini yang memungkinkannya. Anda juga akan menemukan bahwa melakukannya melalui pengikatan Vim Perl juga gagal, meskipun Perl memiliki dukungan Unicode yang sangat baik. Anda mungkin perlu beralih ke skrip Perl eksternal, sehingga Anda dapat mengaktifkan dukungan Unicode penuh.