1

grepVim で使用する場合、quickfix の結果を色付けするにはどうすればよいですか?

私が試してみました:

set grepprg=grep\ --color=always\ -n\ $*\ /dev/null

しかし、それは機能していません。

私は cygwin で Vim 7.4 を使用しており、Linux Mint 15 でも試しました。助けてください、ありがとう。

4

1 に答える 1

0

を使用すると、出力が端末ではない場合でも、常にANSI カラー シーケンス(のようなもの) を--color=always出力するように grep に指示します。^[[32;40m

残念ながら、Vim はこれらのシーケンスを理解できません。独自の (正規表現ベースの)構文の強調表示があります。

AnsiEsc.vimプラグインは前者を後者に変換できますが、ここでは役に立たないと思います。(簡単に試してみましたが、期待どおりに機能しませんでした)。

解決

渡された引数を にフィードするカスタム:Grepコマンドを作成:grepし、クイックフィックス ウィンドウの適切な構文強調表示を定義できます。grep問題は、と Vimの正規表現方言が異なることです。を使用することで、その問題を回避できます:vimgrep

実際、最も簡単な解決策は、最初に Vim 内でパターンを検索することです。

/pattern

次に、実際の grep を実行します。

:vimgrep // file1 file2

を使用:set hlsearchすると、一致するものが自動的に強調表示されます (他のものを検索しない限り、クイックフィックス ウィンドウを含むすべてのウィンドウで)。

于 2014-03-25T07:52:34.600 に答える