gpt4 book ai didi

vim - 快速修复窗口中的光标突出显示 : QuickFixCmdPre overriding QuickfixCmdPost?

转载 作者:行者123 更新时间:2023-12-05 03:10:13 59 4
gpt4 key购买 nike

我希望我的 quickfix-window 对光标的当前行有一些突出显示。

经过一些研究,我发现我可以使用 set cursorlinehighlight CursorLine term=bold cterm=bold guibg=Grey40 配置当前行的一般外观。

现在,我只希望在快速修复窗口中使用它。所以我开始将这两行包装在一个函数中,并使用自动命令调用该函数:

au QuickFixCmdPre * 调用 EnableSearchHighlighting()

到目前为止,还不错。由于我至少搜索一次后仍然激活了突出显示,因此我需要再次禁用该效果。 这就是我被困的地方...

我编写了另一个函数来设置 nocursorline 并在 QuickFixCmdPost-Event 上调用这个函数。但出于某种原因,这打破了一切。现在我不会再得到突出显示,即使在 quickfix-window 中也不会。

感觉后事件覆盖了前事件。我不确定在这里还能尝试什么。

也许任何人都可以帮助我,甚至有另一种方法来首先突出显示?

这是完整的代码,因为它现在在我的 .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()

感谢阅读。 :)

最佳答案

你的方法有很多问题,但最主要的(也是它不起作用的原因)是 QuickFixCmdPreQuickFixCmdPost 在之前为每个 quickfix 命令运行你可以切换到错误窗口。

将此添加到文件ftplugin/qf.vim:

setlocal cursorline

然后将 highlight 定义添加到您的 vimrc 中,在任何函数或 autocmd 之外:

highlight CursorLine term=bold cterm=bold guibg=Grey40

关于vim - 快速修复窗口中的光标突出显示 : QuickFixCmdPre overriding QuickfixCmdPost?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40707737/

59 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com