2

私は Vim を使用してマクロが埋め込まれた HTML を編集します。マクロは "<>" のように二重山括弧で囲まれています。Vim の標準的な HTML 強調表示では、2 番目の "<" と ">" がエラーとして認識され、エラーとして強調表示されます。どうすればこれを防ぐことができますか? $VIMHOME/syntax/html.vim に二重角かっこが問題ないことを教えるか、単にエラーの強調表示を無効にするかのいずれかを教えていただければ幸いですが、どちらの方法もわかりません。("highlight clear htmlTagError" は効果がありません。実際、"highlight clear" は HTML バッファーでは効果がありません。)

4

2 に答える 2

3

マクロに完全な構文強調表示を導入したい場合は、htmldjango(のような構文ファイルから始めるのが最も簡単です。これは、同じディレクトリからand$VIMRUNTIME/syntax/htmldjango.vimを使用します); その中で、とりわけ、には特別な意味があります。あなたはそれをまったく同じにしたいのですが、とを区切り文字にします。html.vimdjango.vim{{ ... }}<<>>

特別に強調表示する<< ... >>には、次のような構文行が必要です。

syntax region mylangMacro start="<<" end=">>" containedin=ALLBUT,mylangMacro

そして、次のように強調表示できます。

highlight default link mylangMacro Macro

これは、新しいシンタックス ハイライターの~/.vim/after/syntax/html.vimスタイルhtmldjangoで使用することも、実行することもできます (これは私の好みのアプローチです。その後、autocmd を使用して、この新しいシンタックス ファイルを HTML ファイルに使用させることができます)。


(同じような位置にあるエラーの強調表示を削除することもできsyntax clear htmlTagErrorます。ただし、単にエラーを削除するよりも、別の強調表示を取得する方がよいと思われることを願っています。)

于 2012-05-21T22:49:36.517 に答える
1

Vimで既存の構文の強調表示を編集する手順は次のとおりです。

http://vimdoc.sourceforge.net/htmldoc/syntax.html#mysyntaxfile-add

Unix / Linuxのvimランタイムパス:

                   $HOME/.vim,
                    $VIM/vimfiles,
                    $VIMRUNTIME,
                    $VIM/vimfiles/after,
                    $HOME/.vim/after

「after/syntax」という名前のディレクトリをvimランタイムパスに作成します。

Unix / Linux用のコマンド:

mkdir ~/.vim/after
mkdir ~/.vim/after/syntax
  1. 使用したいコマンドを含むVimスクリプトを書いてください。たとえば、C構文の色を変更するには、次のようにし ます。cComment ctermfg = Green guifg=Greenを強調表示します。

  2. そのファイルを「after/syntax」ディレクトリに書き込みます。構文の名前に「.vim」を追加して使用します。C構文の場合 ::w〜/ .vim / after / syntax / c.vim

それでおしまい。次にCファイルを編集するときは、コメントの色が異なります。Vimを再起動する必要はありません。

複数のファイルがある場合は、ファイルタイプをディレクトリ名として使用できます。このディレクトリ内のすべての「*.vim」ファイルが使用されます。次に例を示します。

または、はるかに簡単なルートを使用して、Nanoコマンドラインエディター内で構文の強調表示を使用することもできます。これにより、正規表現を使用して独自の構文を非常に簡単に定義できます。

http://how-to.wikia.com/wiki/How_to_use_syntax_highlighting_with_the_GNU_nano_text_editor

于 2012-05-21T22:29:19.007 に答える