私は非常にシンプルなVim構文ファイルを持っています。私は人々の名前を強調したいと思い、Twitterのような構文@jonathan
を選択しました。Vim構文で@で始まる単語を強調表示する方法は?
私が試した:
syntax match notesPerson "\<@\S\+"
を意味する:言葉は@
から始まると少なくとも一つの非空白文字を持ちます。問題は、@
がVim正規表現の特殊文字のようです。
私は\@
をエスケープしようとしましたが、括弧内には[@]
が含まれていますが、これはうまくいかなかった。私は(^|\s)
(行または空白の先頭)のようなものを試すことができますが、それは単語境界が解決しようとする問題です。
強調表示は単純化された正規表現で機能するので、これは他のものよりも正しい正規表現を見つけるための質問です。私は何が欠けていますか?
なぜ '\'を '\ S \ +'でエスケープしましたか? '@'が 'vim'の中の特殊文字とみなされるなら' @ \ S + 'か' \ @ \ S + 'を試してください。私はそれについて知らない。 –
@RohitJain vim構文はBREに由来するためです。特別であるためにはエスケープする必要があります。 – ZyX
@ ZyX ..ああ!私はそれを知らなかった。ありがとう:) –