【问题标题】:Vim - change highlight of current quickfix line. (QuickFixLine)Vim - 改变当前 quickfix 行的高亮。 (快速修复线)
【发布时间】:2020-06-20 17:11:16
【问题描述】:

如何更改QuickFixLine 的高亮显示,使其在一行中有多个高亮显示?例如:

而不是像这样突出显示整行:

将 quickfix 突出显示的前景更改为:

我怎样才能做到这一点?

【问题讨论】:

  • 我猜 greenwhite 是指与非当前行相同的颜色,对吧?
  • 这只是一个例子,我的意思是任何类型的突出显示。
  • 你不能。这是一个单一的亮点组。您只能将其设置为粗体或反转,然后其他突出显示组(qfFileName 或 qfLineNr)将保持其颜色。
  • :hi QuickFixLine 现在告诉你什么? (您可以使用:put =execute('hi QuickFixLine') 将其粘贴到 Vim 缓冲区中,这样可以更轻松地在此处复制和粘贴。)
  • 您使用的配色方案是什么?

标签: vim highlight


【解决方案1】:

在一般情况下,您不能真正使用QuickFixLine 在同一行上创建多个突出显示。

不过,QuickFixLine在快速修复窗口(由语法规则定义)中已经存在的突出显示的顶部应用。

因此,只要您不触及由语法规则分配的特定属性(在本例中为前景色),并且您只触及其他属性(在本例中为背景色和设置文本粗体) ,完全可以达到你想要的效果。

例如,应用这个命令应该可以达到你想要的效果:

:hi QuickFixLine ctermfg=NONE cterm=bold guifg=NONE gui=bold

您可以通过在 vimrc 中添加规则以在颜色方案更改后应用该更改来使其永久化,使用:

augroup vimrc_colors
  au!
  au ColorScheme * hi QuickFixLine ctermfg=NONE cterm=bold guifg=NONE gui=bold
augroup END

您似乎已经在使用自定义主题,因此您可能需要考虑将其修改为不设置前景色并设置粗体属性:

hi QuickFixLine
   \ ctermbg=180 cterm=bold
   \ guibg=#334659 gui=bold

【讨论】:

    猜你喜欢
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 2018-07-27
    相关资源
    最近更新 更多