Vim/gVimで複数の文字列を検索し、それらを異なる色で強調表示したい。すぐに使えるVimやプラグインでこれを行う方法はありますか?
「 複数の単語を強調表示 」を試してください。これは、matchadd()
を使用します。
Vimエディターで複数の単語を強調表示するには、2つの簡単な方法があります。
基本的に、最初の方法では正規表現モードになり、検索に使用されるすべてのパイプやその他の区切り文字の前に余分なバックスラッシュを置く必要がなくなります。
これは、2つの検索パターンに対して、スクリプトなしで手動で実行できます。
:match Search /pattern/
:match Search /<CTRL-R>/ # highlight the current search pattern
検索は強調表示グループの名前です。補完を使用して別のグループを選択し、別の色で強調表示します。
:match <TAB>
:match <TAB> # completion will list all highlight group
これは、独自のvim設定を使用できない場合に便利です。
:match none # clear the match pattern to stop highlighting
Vimで複数の文字列を検索するには、次のようにします。
/search1\|search2
これは機能し、search1
およびsearch2
、ただし同じ色。 vimエディターでこれを行う必要があります。
はい、すぐに使用できます matchadd()
。
ハイライトを追加するには、例えば末尾の空白の場合:
_:highlight ExtraWhitespace ctermbg=grey guibg=grey
:call matchadd('ExtraWhitespace', '\s\+$', 11)
_
すべての一致を表示するには:
_:echo getmatches()
_
一致を削除するには、 matchdelete()
を使用します。例えば。:
_:call matchdelete(7)
_
MultipleSearch:複数の検索を同時にハイライトし、それぞれ異なる色で表示します。
http://www.vim.org/scripts/script.php?script_id=479
:Search <pattern1> //will highlight all occurences of <pattern1> in the current buffer.
A subsequent :Search <pattern2> will highlight all occurences of <pattern2> in the current buffer.
:%s /red\|green\|blue/
ただし、キーワードごとに異なる色を維持する方法についてはわかりません。ありがとう。
My Mark plugin は、組み込み検索のように、複数の単語を異なる色で同時に強調表示できます。多くのマッピングとコマンドが付属しており、パターンを保持でき、複数のカラーパレットをサポートしています。
MultipleSearch2は、vimの検索と統合される別のスクリプトです。 http://www.vim.org/scripts/script.php?script_id=118