6

快速修复窗口中当前选定行的突出显示组是什么?

快速修复窗口中的选定行Search用于突出显示。我想继续使用黄色Search突出显示,但使用蓝色快速修复选定的行。

4

2 回答 2

5

Ingo Karkat 的回答是正确的。它确实是用 vim 代码硬编码的。我为 vim8 创建了一个补丁 - QuickFixCurrentLine.patch

补丁足够长,可以在这里发布。另外,它混合了制表符和空格。因此,提供仅链接答案。

编辑:补丁已在最新的 vim 代码中更新。
高亮的名称已更改为 quickfixline 而不是 quickfixcurrentline。

于 2016-09-16T07:58:42.930 回答
4

当前选择的快速修复项目被硬编码为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>
于 2012-11-05T08:16:38.197 回答