Quickfix窗口中當前選定行的高亮組是什麼?vim:突出顯示與「搜索」顏色不同的quickfix選定行
quickfix窗口中的選定行使用Search
進行高亮顯示。我想繼續使用黃色突出顯示Search
,但使用藍色作爲quickfix選定的行。
Quickfix窗口中當前選定行的高亮組是什麼?vim:突出顯示與「搜索」顏色不同的quickfix選定行
quickfix窗口中的選定行使用Search
進行高亮顯示。我想繼續使用黃色突出顯示Search
,但使用藍色作爲quickfix選定的行。
當前選擇的quickfix項目被硬編碼爲Search
。您必須更改Vim源代碼並重新編譯才能更改。
我看到只有有限的方法來解決這個與Vimscript。您可以嘗試通過:match
/matchadd()
(它具有更高的優先級)覆蓋當前行的突出顯示,但它只會覆蓋文本的長度,而不是整個行的原始突出顯示。另外,我認爲當前選擇的項目不能從Vim輕鬆查詢,因此您必須掛接到quickfix-local <CR>
映射來更新它,並停止使用:cnext
等來移動到不同的錯誤。
:highlight BlueLine guibg=Blue
:autocmd BufReadPost quickfix match BlueLine /\%1l/
:autocmd BufReadPost quickfix nnoremap <buffer> <CR> :execute 'match BlueLine /\%' . line('.') . 'l/'<CR><CR>
Ingo Karkat的回答是對的。它的確在vim代碼中被硬編碼。 我爲vim8創建了一個補丁 - QuickFixCurrentLine.patch。
修補程序足夠長,可以在此發佈。另外,它有標籤和空格的混合。所以,提供一個只有鏈接的答案。
編輯: 這個補丁已經在最新的vim代碼中得到了成長。
突出顯示的名稱已更改爲quickfixline而不是quickfixcurrentline。 「
你有沒有想過提交這個上游? (編輯:我看你是 - https://github.com/vim/vim/issues/1080)。 – wincent
_」當前選定的quickfix項目被硬編碼爲搜索「_你知道它被硬編碼到'Search'的位置嗎?因此,由於vim8已經出來,我正在編譯它,我以爲我可以做這些改變... – anishsane
^^明白了......需要搜索一個地方上傳補丁... – anishsane
@anishsane啊,太棒了;我只是自己搜索源代碼。如果補丁很短,只需添加自己的答案,然後放在那裏。或者,將其作爲Gist發佈,然後在此處添加帶有URL的評論。 –