2013-05-07 12 views
5
私の最大の驚き、TeXでは複数行のコメント構文に

のためにVIMでシンタックスカラーリングコメント:複数行は、TeXファイル

\usepackage{verbatim} 
... 
\begin{comment} 
    I don't like this line anymore. Please don't print it. 
\end{comment} 

$VIMRUNTIME/syntax/tex.vimによって対処ので、コメントとして着色しない/認識されていません。多くの人々がそれを探していると確信しているので、解決策を持つことができるVIMスクリプトの教師はありますか?

おかげ

VIMのV7.3 VIMシンタックスハイライトにはほとんどの検索は、(あなたが作成する必要があります私は~/.vim/after/syntax/tex.vimに追加ほぼ全作業を行うのコード行を書く助け

答えて

8

あなたの~/.vimディレクトリ内のディレクトリ):

syn region texComment start="\\begin{comment}" end="\\end{comment}" 

私の唯一の問題は、それがコメントENVの終了前に、ファイルの終わりを検出した場合のマッチングを無効にする方法を見つけることができないということですアイロンメント。誰でも回避策がありますか?

NB:このコマンドは、どちらもラテックス以来、良いことですネスティングをサポートしていません、あなたが最も可能性があります比類のない\end{comment}

+0

リージョンの開始は可能性のある最終一致から独立しているため、問題が発生しています。しかし、これはむしろあいまいなコーナーケースではありませんか? –

+2

元の構文を変更するのではなく、単に '〜/ .vim/after/syntax/tex.vim'に行を入れてください。 –

+0

@IngoKakat:'/after/syntax'の精度に感謝します。あなたの最初の発言に関して、私は 'syn region texComment start ="/\\ begin {comment} \ _。* \ end {comment}/"end =" \ end {comment} "根本的な問題は、開始パターン(それが存在することを確認するために必須)で終了パターンが一致する場合、終了パターンで再び一致させることができないということです。 [VIM Doc](http://vimdoc.sourceforge.net/htmldoc/syntax.html)から:終了パターンの一致は開始パターンと重複しません。 –

2

あり、コードを(multiline commentを参照してください)コメントをどのように多くの選択肢があるので、これはコンテンツです鉱山の~/.vim/after/syntax/tex.vim

syn region texComment start="\\begin{comment}" end="\\end{comment}" 
syn region texComment start="\\iffalse" end="\\fi" 
syn region texComment start="\\ifx true false" end="\\fi" 
関連する問題