단어를 일치시키기 위해 사용할 수 있습니다
\v(\w+)
vim 도움말에서 :h \w
:
\ w 단어 문자 : [0-9A-Za-z_]
이것은 설명서에 설명 된대로 정확하게 작동합니다. 그러나, 나는 넘어 문자가 포함 된 단어와 일치 할 a-z
, 예를 들어
prästgården을 . prästgården\v(\w+)
에 대해 정규 표현식 을
일치 시키면 세 개의 일치 항목이 생성됩니다.
prästgården
^^ ^^^ ^^^^
넘어 문자를 포함하는 단어를 일치시키는 방법 a-z
? 내 로케일은 영어로 설정되어 있으며 가능하면 그대로 유지하고 싶습니다.
편집 : 단어가 단일 로케일에 속하지 않을 수 있습니다 (예 :
prästgården
treść
\p{Word}
POSIX 문자 클래스 대신에 사용하고 싶습니다 . Perl의 POSIX 문자 클래스 처리에는 많은 예외 사례가 있으며, 대신 유니 코드 속성을 사용할 때 피할 수 있습니다.
[[:alpha:]]\+
이 경우)는 여기에서 원하는대로 수행해야하지만 Vim 문서 (:help regex
) 에 따르면 "이 항목은 8 비트 문자에만 작동합니다." 여기서는 OS X 10.8의 Vim 7.3에서 작동하지만 Linux의 Vim 7.3은 작동하지 않으므로이 Vim에 대해 Apple 고유의 것이 있다고 가정합니다. 또한 Perl이 매우 우수한 유니 코드 지원을 제공하지만 Vim Perl 바인딩을 통해이를 수행하는 것도 실패 함을 알 수 있습니다. 외부 Perl 스크립트로 전환해야 할 수 있으므로 완전한 유니 코드 지원을 켤 수 있습니다.