a-zA-Z 이외의 문자가 포함된 단어와 일치합니다.

a-zA-Z 이외의 문자가 포함된 단어와 일치합니다.

단어를 일치시키려면 다음을 사용할 수 있습니다.

\v(\w+)

vim 도움말에서 :h \w:

\w 단어 문자: [0-9A-Za-z_]

이는 매뉴얼에 설명된 것과 정확히 같습니다. 하지만 다음과 같이 문자 이외의 문자를 포함하는 단어를 일치시키고 싶습니다 a-z. 석고 정원. 정규식 표현식과 \v(\w+)일치 석고 정원대신 세 개의 일치 항목이 생성됩니다.

prästgården
^^ ^^^ ^^^^

문자 이상을 포함하는 단어를 일치시키는 방법은 무엇입니까 a-z? 내 로케일은 영어로 설정되어 있으며 가능하면 그렇게 유지하고 싶습니다.

편집하다:이러한 단어는 단일 로케일에 속하지 않을 수 있습니다.

prästgården
treść

답변1

Vim(버전 7.3 기준)은 모드에서 ASCII가 아닌 문자를 매우 제한적으로 지원합니다. 특히 \wASCII 문자만 일치하므로 사용이 제한됩니다.

유니코드를 지원하는 일부 문자 클래스 모드가 있습니다. 당신은 관심이 있습니다\I, 일반적으로 문자와 일치하며 문자, 플러스 _@. 적어도 Debian squeeze(UTF-8 로케일)에는 버그가 있으며 문자로 일치 ×하지만 ÷모든 라틴 악센트 문자는 올바르게 인식되는 것 같습니다. \I다음을 통해 구성할 수 있습니다.isident적어도 ASCII 부분에 대해서는 옵션입니다.

엄격한 유니코드 지원을 원한다면 외부 도구에 의존해야 합니다. 예를 들어 perl -C -e '/\p{L}/'UTF-8 문자와 일치합니다(UTF-8 로케일 가정).

답변2

사용 \k. 바라보다iskeyword옵션.

답변3

키릴 문자에서도 작동합니다.

\v\k

조금 복잡해 키릴 문자가 실패함

\v(\c[0-9a-z_[=a=][=c=][=e=][=i=][=l=][=n=][=o=][=r=][=s=][=t=][=u=][=y=][=z=]])

의사.

Vim 7.4에서 테스트되었습니다.

관련 정보