gpt4 book ai didi

vim - 有匹配项时突出显示整行

转载 作者:行者123 更新时间:2023-12-04 15:25:13 25 4
gpt4 key购买 nike

有谁知道如何突出显示整行(如果有或搜索后有匹配项)。

我搜索/user

现在,如果有匹配项,我想突出显示整行。

编辑
我想像搜索突出显示一样使用突出显示。
我不想使用突出显示组。

最佳答案

高亮行的替代方法可能是使用 quickfix 列表。例如,执行以下操作会将与模式 /user/ 匹配的所有行放入当前文件 (%) 的快速修复列表中。

:vimgrep /user/ %

您可以通过执行 :copen 在单独的窗口中显示 quickfix 列表的内容。您可以通过 :cnext:cprev 和 friend 在匹配行之间移动。个人推荐Tim Pope的优秀unimpaired.vim插件提供一些相当漂亮和自然的感觉映射,如 [q]q 以在 quickfix 列表中移动。您还可以添加 g 标志以在每行中查找多个匹配项,并将它们也添加到 quickfix 列表中。

您可能希望映射到此 vimgrep 命令以使其更快一些。我个人在我的 ~/.vimrc

中使用以下内容
nnoremap <leader>/ :vimgrep/<c-r>//g %<cr>:copen<cr>

使用:vimgrep 命令的一个缺点是它需要一个已保存的文件,因此必须首先保存未保存的缓冲区。您可以通过组合使用 :global:cgetexpr 来解决这个问题,如下所示。

:cexpr []
:g//caddexpr expand("%").":".line(".").":".getline(".")

然而,也许您真的只是想用匹配来突出显示行,而不是使用 quickfix 列表。我建议像这样使用 :match

:match Search /.*user.*/

您可以使用任何您想要的高亮组。我选择 Search 似乎很合适。要关闭突出显示,只需执行 :match 而不带任何参数。

我个人更喜欢使用 :vimgrepquickfix 列表,但您的需求可能与我的不同。

有关更多帮助,请参阅:

:h quickfix
:h :vimgrep
:h :cnext
:h :cexpr
:h :caddexpr
:h :match

关于vim - 有匹配项时突出显示整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13383726/

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