【问题标题】:How to set a custom color to folded highlighting in .vimrc (for use with putty)如何在 .vimrc 中为折叠高亮设置自定义颜色(用于 putty)
【发布时间】:2013-04-07 12:27:29
【问题描述】:

将以下内容添加到.vimrc 工作

:hi Folded ctermbg=Grey

但它仍然过于明亮和突出,所以我们想指定一个更具体的颜色三元组,如下所示:

:hi Folded ctermbg=#A0A0A0

但 vi 不会接受:

Error detected while processing /home/guest/.vimrc:
line   10:
E421: Color name or number not recognized: ctermbg=#A0A0A0

有什么建议吗?

【问题讨论】:

    标签: vim putty vim-syntax-highlighting


    【解决方案1】:

    ctermbg 中的cterm 是“彩色终端”的缩写。它用于定义 Vim 在终端仿真器中运行时的背景颜色,并且只能接受像 greycyan 这样的命名颜色或像 7 这样的颜色编号。十六进制值仅在 GVim/MacVim 中有效,并且必须与 guibg/guifg 一起使用,如下所示:

    hi Folded guibg=#A0A0A0
    

    在你的 shell 中,执行$ echo $TERM:它应该返回类似xtermscreenxterm-256color 或一些变体。

    如果您在不能显示超过 8/16 色的终端仿真器中运行 Vim($TERM 不包含 256color),您将无法使用不同的灰色阴影,除非您在终端模拟器中定义自己的调色板。

    应该是这样的:

    hi Folded ctermbg=7
    

    或类似:

    hi Folded ctermbg=grey
    

    如果您的终端仿真器将自己宣传为“准备好 256 色”($TERM 包含 256color),那么您可以使用 this chart 中的任何颜色,只要您使用它的编号(242)而不是它的十六进制值。

    应该是这样的:

    hi Folded ctermbg=242
    

    【讨论】:

    • echo $TERM 结果为“xterm”,我将 PuTTY 配置为使用 xterm 256 颜色模式。当我尝试使用 Color 216 (Peach) 时,它在 PuTTY 中显示为黑色。我是否需要做一些事情以使 $TERM 产生 xterm256 或 256color?谢谢
    • TERM 是在终端仿真器级别定义的:如果您已将 PuTTY 配置为使用 xterm-256color 并且您得到 xterm,那么您有什么问题。
    • 看起来 xterm/xterm-256color/256color(分配给 $TERM)只是可以在 PuTTY 中配置的任意字符串。在mediabandit.co.uk/blog/151_putty-colours 中找到了解决方案。无论如何,谢谢你的领导
    • 是否也可以设置“无颜色”?我正在尝试从折叠线上移除可见的 BG,将其与其他线混合(突出显示的线号对我来说就足够了)。当我设置为 16 时,颜色为黑色,不适合每个术语的方案,为 0 或不设置它会导致灰色。
    • @AloisMahdal, ctermbg=NONE guibg=NONE.
    【解决方案2】:

    除了romainl 的解释外,还必须按照here 的描述在.vimrc 中添加以下几行:

    if &term =~ "xterm"
      "256 color --
      let &t_Co=256
      " restore screen after quitting
      set t_ti=ESC7ESC[rESC[?47h t_te=ESC[?47lESC8
      if has("terminfo")
        let &t_Sf="\ESC[3%p1%dm"
        let &t_Sb="\ESC[4%p1%dm"
      else
        let &t_Sf="\ESC[3%dm"
        let &t_Sb="\ESC[4%dm"
      endif
    endif
    

    之后,从romainl 提供的xterm256 color table 中选择的任何十进制颜色值都应相应地显示在 PuTTY 中。

    【讨论】:

    • set t_Co=256 添加到 .vimrc 也足够了。
    猜你喜欢
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    • 2013-10-24
    • 2019-12-05
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多