gpt4 book ai didi

vim - 状态行中的颜色反转。为什么?

转载 作者:行者123 更新时间:2023-12-02 08:21:53 28 4
gpt4 key购买 nike

我在 Windows 上使用 gvim 7.4,全新安装,无插件。谁能解释一下为什么会这样:

highlight statusline guifg=red guibg=green

将在红色背景上显示绿色文本。

但是这个:

highlight statusline gui=NONE guifg=red guibg=green

会在绿色背景上显示红色文本吗?

(实际目标是将状态行中的文本从粗体更改为正常。对于此任务,我添加了 gui=NONE,然后看到了这种奇怪的行为)。

编辑

(作为我对肯特评论的回答)

这是我完整的 _vimrc。代码只有两行:

set laststatus=2
highlight statusline gui=NONE guifg=red guibg=green

还尝试过:

  • hihighlight 具有相同的效果
  • StatusLinestatusline 具有相同的效果

最佳答案

要检查 hi-group 是如何定义的,请在 vim 中使用:hi GroupName,这就是为什么我一直要求 OP 和 Carpetsmoker 提供他们的 cmd 输出。

编译并安装 vim 后,已经定义了一些默认的 HL-Group。

人们不时询问默认的配色方案。并想要扩展“默认”配色方案。该位置很容易找到,在 Linux 机器上,例如它位于 /usr/share/vim/vim74/colors/default.vim ,不同的发行版可能有不同的路径。

但是,如果我们打开 default.vim,我们将看到一个相当简单的 vim 文件。没有任何 HL 定义。因为它们默认定义在 vim 源代码中。

关于StatusLine组,它是在syntax.c文件中定义的:

https://github.com/vim/vim/blob/8bc189e81aa98ba4aebb03a9dc9527a210fce816/src/syntax.c#L6784

我们可以看到reverse位于StatusLineStatusLineNC组中。

要摆脱反向“功能”,您必须覆盖 guicterm 属性。

关于vim - 状态行中的颜色反转。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36429437/

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