Vim 中突出显示列

问题描述 投票:0回答:3

我试图在 vim 中突出显示 80 个字符的列,以帮助我保持代码简短。 我已将其添加到我的 .vimrc 中:

" Highlight column 80
if exists('+colorcolumn')
  highlight ColorColumn ctermbg=4
  set colorcolumn=80
else
  au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)
endif

我已经用

:help ctermbg
查看了可用的颜色,但无论我对 ctermbg 使用什么参数,我都会得到深红色突出显示,这非常烦人。我怎样才能改变这个颜色?

非常感谢

vim
3个回答
6
投票

输出为

ColorColumn xxx term=reverse ctermbg=4 guibg=DarkRed

您可能正在使用 GVIM,它使用

gui..=
定义。您需要(并且应该始终这样做,除非您仅使用终端或图形 Vim)添加 GUI 定义(
:h gui-colors
有一个列表):

:highlight ColorColumn ctermbg=4 guibg=blue

特别是如果您要切换colorschemes,可能还存在剩余的属性。指定 all 属性更安全(参见

:help :hi
):

:highlight ColorColumn term=reverse cterm=NONE ctermfg=NONE ctermbg=4 gui=NONE guifg=NONE guibg=blue

1
投票

尝试例如:

highlight ColorColumn ctermbg=Blue

希望有帮助!


0
投票

虽然在接受的答案中没有明确说明,但命令在配置文件中放置的位置很重要。 有提到过,但没有明确说明。 如果在 gvim 中没有看到所需的结果,请尝试添加以下行 :突出显示 ColorColumn guibg=blue 在设置 colorheme 之后,位于 ~/.gvimrc 文件的末尾。 同样在 ~/.vimrc 末尾添加 :突出显示 ColorColumn ctermbg=4

© www.soinside.com 2019 - 2024. All rights reserved.