私のクイックフィックスウィンドウで、カーソルの現在の行を強調表示したいと思います。
set cursorline
いくつかの調査の結果、 と を使用して現在の行の一般的な外観を構成できることがわかりましたhighlight CursorLine term=bold cterm=bold guibg=Grey40
。
今、私はクイックフィックスウィンドウにいるときだけそれを望んでいます。そこで、これらの 2 行を関数内にラップし、その関数を自動コマンドで呼び出しました。
au QuickFixCmdPre * call EnableSearchHighlighting()
ここまでは順調ですね。少なくとも 1 回検索した後もまだハイライトが有効になっているため、効果を再度無効にする必要がありました。そして、ここで私は立ち往生しています...
-Eventset nocursorline
でこれを呼び出すための別の関数を作成しました。QuickFixCmdPost
しかし、何らかの理由でこれがすべてを壊しました。これで、quickfix-window でも強調表示されなくなりました。
事後イベントが事前イベントをオーバーライドするように感じます。ここで他に何を試すべきかわかりません。
誰かが私を助けてくれるかもしれませんし、そもそもハイライトに対する別のアプローチを持っているのでしょうか?
現在、私の .vimrc にある完全なコードは次のとおりです。
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()
読んでくれてありがとう。:)