快速修复窗口中当前选定行的突出显示组是什么?
快速修复窗口中的选定行Search
用于突出显示。我想继续使用黄色Search
突出显示,但使用蓝色快速修复选定的行。
Ingo Karkat 的回答是正确的。它确实是用 vim 代码硬编码的。我为 vim8 创建了一个补丁 - QuickFixCurrentLine.patch。
补丁足够长,可以在这里发布。另外,它混合了制表符和空格。因此,提供仅链接答案。
编辑:补丁已在最新的 vim 代码中更新。
高亮的名称已更改为 quickfixline 而不是 quickfixcurrentline。
当前选择的快速修复项目被硬编码为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>