【问题标题】:How to change font color for comments in Vim如何在 Vim 中更改注释的字体颜色
【发布时间】:2011-04-29 09:04:20
【问题描述】:

我想更改 cmets 的默认字体颜色,从深蓝色变为浅黄色。在黑色背景上很难阅读。我使用的是 xfce4-terminal,而不是带有 GUI 的 gvim。

如何只更改这一种颜色?

到目前为止,我已经根据“256 colors in vim”更改了我的~/.profile文件中的设置:

if [ -e /usr/share/terminfo/x/xterm-256color ]; then
        export TERM='xterm-256color'
else
        export TERM='xterm-color'
fi

set t_Co=256

~/.vimrc.

【问题讨论】:

  • 只是一个愚蠢的问题,你有没有尝试不同的内置配色方案?例如:colorscheme desert。 Tab-completion 应该可以正常工作。
  • 我试过了。但我想实现更多的定制。如果没有人知道这个答案,我会接受你的答案作为最佳解决方案,因为在我根据我想要达到的目标提出更具体的问题之前,你已经回答了。
  • 不能重新分配终端的调色板吗?终端没有设置吗?
  • @Benoit 查看问题的下一个版本。

标签: syntax-highlighting vim


【解决方案1】:

大多数表现良好的配色方案都会尊重background 设置。

set background=dark

在使用默认颜色方案时会将 cmets 的颜色从深蓝色更改为浅蓝色。

【讨论】:

  • 这是一个很棒的解决方案。也许不是上述问题的最佳答案,但以完美的方式解决了“非常难以阅读”的问题。
  • 这应该是 Ubuntu 的默认设置。紫色背景上的深蓝色时,评论基本上无法阅读。谢谢。我将此包含在我的~/.vimrc 文件中。如果有人想在不这样做的情况下测试它的外观,只需在按下: 键后将上述命令输入 vim 即可。
  • 这是谷歌搜索出现的第一件事。但是,我喜欢默认颜色(除了 cmets),它们在黑暗的终端窗口中以及在粘贴到具有白色背景的电子邮件/文档中时都能很好地工作。我喜欢黑暗的终端,我能说什么? (怀旧/习惯)
  • 将 'set background=dark' 行添加到 ~/.vimrc 就可以了。我的眼睛已经习惯了其他配色方案,我的大脑认为这看起来很难看……但至少我现在可以看到我的 cmets。谢谢。
  • @3kstc:您可以按原样将其添加到您的~/.vimrc。您还可以仅通过在命令模式下键入来预览当前会话中发生的情况。 (普通模式下,输入:进入命令模式。)
【解决方案2】:
:hi Comment guifg=#ABCDEF

选择你的颜色!如果使用彩色终端,请将 guifg=#ABCDEF 替换为 ctermfg=N,其中 N 为颜色编号。

也可以输入:help :hi 了解更多信息。

【讨论】:

  • 谢谢。 ctermfg 适用于绿色或黄色等颜色。但如果我给它 #ABCDEF 或 ABCDEF 它会写错误 E421: color name or number not recognized 。它不识别十六进制代码中的字母,它只识别数字。
  • 是的,guifg 参数适用于您使用 vim gui (gvim) 时。
  • 也就是说我只能使用16色?我将设置添加到.vimrc,但这不起作用set highlight Comment ctermfg=yellow
  • 超过16个。见here。我想实现我的 cmets 是黄色的,但只是略带黄色并且永远。是否可以在.vimrc 中设置?
  • 这已经晚了两年,但万一其他人想要解决@Roboprog 的问题。当我将hi comment ctermfg=<colour> 行放入.vimrc 文件时,我的忽略了它,但我发现这是因为该行位于syntax on 行之前,一旦我交换了订单,它就可以正常工作了..
【解决方案3】:
hi Comment ctermfg=LightBlue

将此添加到您的.vimrc 文件中,该文件位于您的~/etc/vim 目录中。这将使其永久化。我没有用 gvim 测试过。

在我设置评论颜色之前,我也有set background=light。我喜欢它创建的所有颜色,除了 cmets。

【讨论】:

  • LightBlue 来自哪里?
  • 只有当我把它放在 .vimrc 的 end 时这才对我有用
  • @user3342981 位置无关紧要。您必须在配置文件中有其他内容来更改此变量。所以把它放在最后确保你的设置是最后的解释。
  • 我想我需要把它放在syntax on 之后才能工作。我不知道为什么。
  • 我必须添加 syntax on 并修改 set background=darkhi Comment ctermfg=119 才能看到浅绿色的评论...
【解决方案4】:

搜索后,您可以在“256 colors in vim”找到关于此问题的 Vim 参考资料。

开始于:

:verbose hi

当实际在 Vim 中,并编辑文件时。

然后检查所有变量如何具有与之关联的元数据。从那里返回的数据可以很容易地将所需的修饰符类型添加到 .vimrc 中。例如,这些是我最近为了摆脱深蓝色而添加的更新,而不必被浅蓝色折磨:

set number background=dark
syntax on
highlight Comment    ctermfg=119
highlight Identifier ctermfg=99AA00

【讨论】:

    【解决方案5】:

    如果目标是让它在文本控制台的深色背景中更具可读性,那么下面的命令是一个很好的选择并且易于记忆:

    :colorscheme evening
    

    但请注意,它会改变其他元素的颜色。

    【讨论】:

      【解决方案6】:

      见“Syntax Highlighting In VIm”。

      set background=dark
      

      set bg=dark
      

      是 VIM 用户的最佳解决方案!

      【讨论】:

        【解决方案7】:

        Vim 中有多种配色方案。 “默认”配色方案以蓝色显示 cmets,这使得在黑色终端背景下难以阅读。我更喜欢使用以可读颜色显示的“沙漠”配色方案。

        要在 Vim 中启用“沙漠”配色方案,请使用命令 :color desert。如果你想回到默认使用:color default

        您甚至可以使用您喜欢的配色方案更新您的~/.vimrc

        echo 'color desert' >> ~/.vimrc
        

        【讨论】:

          【解决方案8】:

          我有同样的问题,想将我的评论颜色从 LightBlue 编辑为更柔和的颜色,并且按照@Benoit 的回答,这对我有用:

          hi Comment ctermbg=0 ctermfg=DarkGrey
                           
          

          我将它保存在我的 ~/.vimrc 文件中。

          0 = 黑色背景,即彩色终端背景:ctermbg=0,前景文本为DarkGrey,即彩色终端前景:ctermfg=DarkGrey

          【讨论】:

          【解决方案9】:

          您可以先使用以下方法检查您的配色方案:

          :!ls $VIMRUNTIME/colors
          

          然后尝试最适合您的。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-12-11
            • 1970-01-01
            • 2011-05-11
            • 2021-12-27
            • 2011-10-22
            • 1970-01-01
            • 2012-08-25
            • 2012-08-05
            相关资源
            最近更新 更多