vim:突出显示选中的行,其颜色与"搜索"不同

Ste*_*ney 6 vim

quickfix窗口中当前所选行的突出显示组是什么?

quickfix窗口中的选定行Search用于突出显示.我想继续使用黄色Search突出显示,但使用蓝色选择quickfix.

ani*_*ane 5

英戈·卡卡特的回答是正确的。它确实是硬编码在 vim 代码中的。我已经为 vim8 创建了一个补丁 - QuickFixCurrentLine.patch

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

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


Ing*_*kat 4

当前选择的快速修复项目被硬编码为Search. 您必须更改 Vim 源代码并重新编译才能更改此设置。

我认为使用 Vimscript 解决这个问题的方法很有限。:match您可以尝试通过/覆盖当前行的突出显示matchadd()(它具有更高的优先级),但它只会覆盖文本的长度,而不是原始突出显示的整行。另外,我认为当前选定的项目无法轻松地从 Vim 查询,因此您必须连接到快速修复本地映射<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>
Run Code Online (Sandbox Code Playgroud)