2010-11-29 5 views
3

vimの強調表示を拡張/変更するにはすべてファイルタイプを一度に拡張/変更しますか?すべてのファイルタイプのvimの強調表示を一度に拡張/変更できますか?

私はハイライトしたい特定の比較的シンプルなパターンを持っています。これはどのファイルタイプでも発生します。だから、私は(〜/ .vim/syntax/python.vim、.../css.vim、.../html.vim、...)を使用するかもしれない考えられるすべてのファイルタイプに以下のようなものを追加するのではなく、私はすべてのファイルタイプに対して一度定義することができますか?

syn match SpecialComment "@[@\-+].*" containedin=Comment 
syn match Comment  "\* .*$"hs=s+1 containedin=SpecialComment 

更新:

としては、私はそれがCreamで動作しますが、gvimをやVimを買いだめないという結果で、~/.vim/after/filetype.vimに私の変更を保存示唆しました。あなたは~/.vim/after/filetype.vimでこれらの2つの行を入れてみてください可能性が

what the pastebin filetypes.vim looks like in Cream

答えて

3

:私はhereに対してテストするために、サンプルのpythonファイルをhereを使用している実際のコード、および所望の結果。これはトップレベルの構文ファイルのいずれかの後に出てくるはずです。それを置くのが正しい場所ではないかもしれませんが、うまくいくはずです。

filetype.vimは構文ファイルの前に出ているようですので、デフォルトの構文ファイルで上書きされます。したがって、私はあなたが新しいファイルを作成することをお勧めしたいような名前:あなたが興味を持っているハイライト線と

~/.vim/after/common_syntax.vim 

を次に、~/.vim/after/filetype.vimにこれを追加します。

if !exists("after_autocmds_loaded") 
    let after_autocmds_loaded = 1 
    au BufNewFile,BufRead * source ~/.vim/after/common_syntax.vim 
endif 

これが原因となりますファイルが読み込まれるとソースになるファイル。

P.S.サンプルコードのコメントに応答してください: "pythoncommentなどの代わりにplain ol 'comment'グループを使用するのはなぜですか?"というのは、シンタックスハイライトグループがpythonCommentで、これは単にコメント。あなたの構文が問題ではないほどユニークであれば、containedin=ALLを実行することができます。それが近いが、非常にユニークでない場合は、containedin=ALLBUT,conflictgroupを実行することができます。ここで、conflictgroupは、クリアしたいハイライトグループです。

+0

ありがとう、それは動作します。私は最初の行(pythonComment、cssComment、など)の各コメントタイプに名前を付ける必要がありますが、複数のファイルよりはるかに少ない作業です。 :) –

+0

訂正:これはCream-for-vimでは動作しますが、gvimやvimでは正しく動作しません(私のマシンではUbuntu 10.10、gvim 7.2.33)。どこかで二次的な設定が必要です。 –

+0

私はすべてのvimで動作するはずの別のアプローチを追加しました。 – DrAl

関連する問題