quickfix-window 中的光标突出显示:QuickFixCmdPre 覆盖 QuickfixCmdPost?
Cursor-highlighting in quickfix-window: QuickFixCmdPre overriding QuickfixCmdPost?
我希望我的 quickfix-window 能够突出显示光标的当前行。
经过一些研究,我发现我可以使用 set cursorline
和 highlight CursorLine term=bold cterm=bold guibg=Grey40
配置当前行的一般外观。
现在,我只在快速修复时才需要它-window。所以我开始将这两行包装在一个函数中并使用自动命令调用该函数:
au QuickFixCmdPre * call EnableSearchHighlighting()
到目前为止,还不错。由于我至少搜索一次后仍然激活了突出显示,因此我需要再次禁用该效果。 这就是我卡住的地方...
我为 set nocursorline
编写了另一个函数,并在 QuickFixCmdPost
-Event 上调用了这个函数。但出于某种原因,这打破了一切。现在我不会再突出显示了,即使在 quickfix-window.
中也不行
感觉像是 Post-Event 覆盖了 Pre-Event。
我不确定在这里还能尝试什么。
也许任何人都可以帮助我,甚至有另一种突出显示的方法?
这是我的 .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()
感谢阅读。 :)
你的方法有很多问题,但最主要的(也是它不起作用的原因)是 QuickFixCmdPre
和 QuickFixCmdPost
对于之前的每个 quickfix 命令都是 运行你可以切换到错误 window.
将此添加到文件 ftplugin/qf.vim
:
setlocal cursorline
然后将 highlight
定义添加到您的 vimrc
中,在任何函数之外或 autocmd
:
highlight CursorLine term=bold cterm=bold guibg=Grey40
我希望我的 quickfix-window 能够突出显示光标的当前行。
经过一些研究,我发现我可以使用 set cursorline
和 highlight CursorLine term=bold cterm=bold guibg=Grey40
配置当前行的一般外观。
现在,我只在快速修复时才需要它-window。所以我开始将这两行包装在一个函数中并使用自动命令调用该函数:
au QuickFixCmdPre * call EnableSearchHighlighting()
到目前为止,还不错。由于我至少搜索一次后仍然激活了突出显示,因此我需要再次禁用该效果。 这就是我卡住的地方...
我为 set nocursorline
编写了另一个函数,并在 QuickFixCmdPost
-Event 上调用了这个函数。但出于某种原因,这打破了一切。现在我不会再突出显示了,即使在 quickfix-window.
感觉像是 Post-Event 覆盖了 Pre-Event。 我不确定在这里还能尝试什么。
也许任何人都可以帮助我,甚至有另一种突出显示的方法?
这是我的 .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()
感谢阅读。 :)
你的方法有很多问题,但最主要的(也是它不起作用的原因)是 QuickFixCmdPre
和 QuickFixCmdPost
对于之前的每个 quickfix 命令都是 运行你可以切换到错误 window.
将此添加到文件 ftplugin/qf.vim
:
setlocal cursorline
然后将 highlight
定义添加到您的 vimrc
中,在任何函数之外或 autocmd
:
highlight CursorLine term=bold cterm=bold guibg=Grey40