2009-04-03 8 views
3

"[Capítulo"と "]"とそれらの間のすべてをハイライトするスクリプトコードが必要です。ありがとうございました。Vim:ハイライトする小さなスクリプトコードの助けが必要

私はそれは私が、たとえば、.txtファイルを開くたびに仕事をしたいです。ちょうどコードハイライトのように。

+0

と入力した場合、/¥[Capitulo.*\]/どうなりますか? – ojblass

+0

また、スクリプトを正しく作成したいですか?クラピフイ、それ以外のすべての答えは同じです! – ojblass

答えて

5

は、ここでそれを行うための簡単な方法です:

vimで構文の強調表示が有効になっていることを確認してください:syn on

コマンドを実行して:highlightすべてのリストを取得するeハイライトグループ名、およびそれらの見た目のサンプル。 Errorグループそれは私のカラースキームでも際立っているように見えるので、私は私の例ではそれを使用します(ただし、TodoまたはSearchのような他の名前のいずれかを使用することができます)

:syntax match Error /\[Capítulo[^\]]*\]/ 

このパターンはあなたを維持します最大のチャンクに貪欲にマッチするから。他の人が、正規表現/\[Capítulo.*\]/を使用するように提案していますが、それは2つ以上のパターンがある場合、間にあるすべてのものと一致するため、おそらくあなたが望むものではありません。 [Capítuloバー]

同じ例が、/\[Capítulo[^\]]*\]/でのみ一致するこれらの単語がハイライトされるべきではない

[CapítuloのFOO]:例えば/\[Capítulo.*\]/について

は、この全体の行に一致します内部のもの:

[Capítulofoo]これらの言葉は、[Capítuloバー]正規表現で

を強調すべきではない、それは代わりに.*を使用しての、あなたの試合を終了させたい文字以外のすべてを一致するグループを作成するための一般的なトリックです可能な限り多くの文字に一致します。これは、あなたがそれは、あなたの.vimrc

に「:」なし構文一致線を追加するように動作する場合

]は除きすべてを一致させる」と言う - この場合、私たちはグループ[^\]]*を作ります

+0

閉じ括弧を回避するための別のオプションは、非欲張りマッチを使用することです。 \ { - }はPerlの*に相当するVimですか?可能な限りゼロに一致すると言います。 – DrAl

1

正規表現は、あなたが探しているものです:「検索モード」とタイプして入力する

タイプ/

\[Capítulo.*\]/
+0

は、あなたがハイライト表示をオンにする必要があります。/\[Capítulo.\{-}\]/:セットHLS –

関連する問題