web-dev-qa-db-ja.com

vimはNotepad ++などの一致するHTMLタグを強調表示できますか?

VIMは、中括弧、括弧、角括弧のペアのマッチングをサポートしています。これは、PHPやJavascriptなどのCスタイル言語の編集に最適です。しかし、HTMLタグのマッチングはどうでしょうか。

Notepad ++には、私が使っている限りこの機能があります。 HTMLのブロックの始まりと終わりを見つけることができると非常に便利です。私が探しているのは、vimのこのようなものです(緑色のdivタグを参照):

(ボーナス機能:このスクリーンショットの赤いタグのように、閉じられていないHTMLタグを強調表示します)。

matchit は次善のものとして提案されていますが、その機能を使用するには追加のキーストロークが必要です。余分なキーを押すことなく、HTMLのブロックの始まりと終わりを確認できるようにしたいと思います。

私はvimのためにこのようなものを見つけるためにインターネットを探しました。どうやら、私は他の2つ StackOverflowquestions および nabble によると、私だけではありません。

私は、vimをHTMLタグと視覚的に一致させることができないため、ほとんど辞職しました。 vimがこれを行うことは可能ですか?

補遺:既存のプラグインでこれを行うことが現在不可能な場合、vimscriptウィザードには適切なプラグインの作成方法に関する指針がありますか?

177
linqq

今日はHTMLを使用する必要があったので、これに取り組むと思いました。問題を解決するftpluginをvim.orgに追加しました。

vim.orgで入手できます

githubで入手できます

それがあなたのために働くことを願っています。問題があれば教えてください。

214
Greg Sexton

GregのMatchTag.vimプラグインは素晴らしいですが、もっと何かが欲しかったです。カーソルがタグの1つにあるときだけでなく、囲んでいるタグをalwaysで強調表示したかったのです。

そこで、私は MatchTagAlways を書きました。これは、GregのMatchTagが行うすべての処理を行い、カーソルがコード内のどこにあるかに関係なく、常に囲みタグを強調表示します。また、閉じられていないタグや、JinjaやHandlebarsなどのHTMLテンプレート言語でも機能します。

動作中のGIFを次に示します。

MTA in action

91
Valloric