将以下内容添加到.vimrc
works中
: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
有什么建议吗?
发布于 2013-04-15 20:09:45
ctermbg
中的cterm
是“彩色终端”的缩写。它用于定义Vim在终端仿真器中运行时的背景颜色,并且只能接受grey
或cyan
等命名颜色或7
等颜色数字。十六进制值仅在GVim/MacVim中有效,并且必须与guibg
/guifg
一起使用,如下所示:
hi Folded guibg=#A0A0A0
在您的shell中,执行$ echo $TERM
:它应该返回类似于xterm
、screen
、xterm-256color
或一些变体的内容。
如果在不能显示超过8/16种颜色($TERM
不包含256color
)的终端仿真器中运行Vim,则除非在终端仿真器中定义自己的调色板,否则将无法使用不同的灰色阴影。
它应该看起来像这样:
hi Folded ctermbg=7
或者像这样:
hi Folded ctermbg=grey
如果您的终端仿真器将自己标榜为"256色就绪“($TERM
包含256color
),那么您可以在this chart中使用任何颜色,只要您使用它的数字(242
)而不是它的十六进制值。
它应该看起来像这样:
hi Folded ctermbg=242
发布于 2013-04-16 12:50:19
除了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中。
https://stackoverflow.com/questions/16014361
复制相似问题