a-zA-Z以外の文字を含む単語と一致します。

a-zA-Z以外の文字を含む単語と一致します。

単語を一致させるには、次を使用できます。

\v(\w+)

vimヘルプから:h \w

\w 単語文字: [0-9A-Za-z_]

これはマニュアルに記載されているものとまったく同じです。しかし、次のように文字以外の文字を含む単語を一致させたいと思いますa-z石膏ガーデン。正規表現式と\v(\w+)一致 石膏ガーデン代わりに、3 つの一致が生成されます。

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

文字以上の単語を一致させる方法はa-z?私のロケールは英語に設定されており、可能であればそうしたいと思います。

編集する:これらの単語は単一のロケールに属さない場合があります。

prästgården
treść

答え1

Vim(バージョン7.3ベース)は、モードで非ASCII文字を非常に制限的にサポートしています。特に\wASCII文字のみが一致するため、使用が制限されます。

Unicodeをサポートするいくつかの文字クラスモードがあります。あなたは興味があります\I、一般的に文字と一致し、文字、プラス_@。少なくともDebian squeeze(UTF-8ロケール)にはバグがあり、文字で一致します×が、÷すべてのラテンアクセント文字は正しく認識されているようです。\I次のように設定できます。isident少なくともASCII部分についてはオプションです。

厳密なUnicodeサポートが必要な場合は、外部ツールに頼る必要があります。たとえば、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でテストされました。

関連情報