Để ghép một từ người ta có thể sử dụng
\v(\w+)
Từ trợ giúp vim :h \w
:
\ w ký tự từ: [0-9A-Za-z_]
Điều này hoạt động chính xác như được mô tả trong hướng dẫn. Tuy nhiên, tôi muốn ghép các từ có chứa các ký tự bên ngoài a-z
, ví dụ
prästgården . Thay vào đó, kết hợp biểu thức chính quy \v(\w+)
với
prästgården cho ba kết quả khớp:
prästgården
^^ ^^^ ^^^^
Làm thế nào để khớp các từ có chứa các ký tự bên ngoài a-z
? Ngôn ngữ của tôi được đặt thành tiếng Anh và nếu có thể tôi muốn giữ nguyên như vậy.
Chỉnh sửa: Các từ có thể không thuộc về một miền địa phương, ví dụ:
prästgården
treść
\p{Word}
thay vì một lớp ký tự POSIX. Có rất nhiều trường hợp ngoại lệ trong việc xử lý lớp ký tự POSIX của Perl, mà bạn tránh khi bạn sử dụng các thuộc tính Unicode thay thế.
[[:alpha:]]\+
trong trường hợp này) được cho là làm những gì bạn muốn ở đây, nhưng theo tài liệu Vim (:help regex
) thì không: "Những mục này chỉ hoạt động cho các ký tự 8 bit." Nó thực sự hoạt động ở đây với Vim 7.3 trên OS X 10.8, nhưng Vim 7.3 trên Linux không hoạt động, vì vậy tôi cho rằng có một cái gì đó cụ thể của Apple về Vim này cho phép nó. Bạn cũng sẽ thấy rằng thực hiện nó thông qua liên kết Vim Perl cũng thất bại, mặc dù Perl có hỗ trợ Unicode rất tốt. Bạn có thể cần phải chuyển sang tập lệnh Perl bên ngoài, để bạn có thể bật hỗ trợ Unicode đầy đủ.