2016-11-20 1 views
1

私は、自分のquickfix-windowにカーソルの現在の行を強調表示したいと思います。quickfix-windowのカーソルハイライト:QuickFixCmdPreはQuickfixCmdPostを上書きしますか?

調査の結果、set cursorlinehighlight CursorLine term=bold cterm=bold guibg=Grey40を使用して現在の行の一般的な外観を構成できることがわかりました。

今、私はクイックフィックスウィンドウに入っているときにしか望みません。だから私は、関数内でこれらの2行を折り返すために開始し、自動コマンドでその関数を呼び出した:

au QuickFixCmdPre * call EnableSearchHighlighting()

これまでのところ、とても良いです。少なくとも1回は検索してもハイライトが有効になっているので、もう一度無効にする必要がありました。 そして、ここでは、私が ...

立ち往生午前ところ、私はちょうどset nocursorlineに別の関数を書き、QuickFixCmdPost - イベントに、このいずれかを呼び出すです。しかし何らかの理由でこれがすべてを破った。今では、クイックフィックスのウィンドウでさえも強調表示はできません。

ポストイベントがプレイベントをオーバーライドしているように感じます。 他に何を試していいのか分かりません。

誰かが私を助けたり、最初の強調表示に別のアプローチをしていることがありますか?読書のための

function EnableSearchHighlighting() 
    set cursorline 
    highlight CursorLine term=bold cterm=bold guibg=Grey40 
endfunction 

function DisableSearchHighlighting() 
    set nocursorline 
endfunction 

au QuickFixCmdPre * call EnableSearchHighlighting() 
au QuickFixCmdPost * call DisableSearchHighlighting() 

ありがとう:それは今の私の.vimrcにあるよう

はここで完全なコードです。 :)

答えて

3

あなたのアプローチには多くの問題がありますが、エラーウィンドウに切り替える前に、各quickfixコマンドに対してQuickFixCmdPreととの両方が実行されるという主な理由があります。 、ちょっと

highlight CursorLine term=bold cterm=bold guibg=Grey40 
+0

ご回答に感謝を:次に任意の関数やautocmd外で、あなたのvimrchighlight定義を追加

setlocal cursorline 

は、ファイルftplugin/qf.vimにこれを追加します。では、qf.vimはquickfix-windowのすべての設定を含む特別なファイルだと正しく理解していますか?このファイルを含むフォルダにftpluginという名前を付けるのが一般的ですか?とにかく、あなたのソリューションは完璧に動作しました、ありがとう! – AvantiC

関連する問題