VIM的初始设置:如何更改左侧行号的背景颜色?

42

我使用 _vimrc 来配置我的 vim 7.2 (Windows) 的默认设置。其中一个设置 "set number" 将在左侧显示行号。我的 vim 背景颜色是白色的 (我找不到可以更改此设置的选项,也许这是默认设置,但我接受这个设置)。

我希望行号的背景颜色是灰色或者柔和的颜色。请问我应该在我的 _vimrc 中输入哪个命令来配置这个默认设置呢?


3
Robert和David指的是不同的设置 - ctermbg和guibg。它们分别用于命令行vim和图形化vim(gvim,macvim等)。下面的代码可以同时适用于两者:highlight LineNr ctermfg=grey ctermbg=black guibg=black guifg=grey。请注意,如果您正在使用GUI版本的vim,.gvimrc中的颜色设置会在.vimrc之后被应用,因此您可能需要将guibg等设置放在那里。 - Nathan Long
4个回答

67
highlight LineNr ctermfg=grey ctermbg=white

请参阅:h highlight-args。根据您的设置,您可能需要使用guifg/guibg而不是ctermfg/ctermbg - undefined

24

要使行号列透明(与主背景颜色相同),您可以尝试在.vimrc中设置以下内容:


要使行号栏透明(与主要背景颜色相同),您可以尝试在.vimrc文件中进行如下设置:
highlight clear LineNr
你还可以清除所谓的“标记列”(由gitgutter等使用):
highlight clear SignColumn

这样,无论您使用什么颜色方案,两栏的背景都将兼容。


如果主要背景是黑色,这似乎并不有用。 - aderchox

8
在我的_vimrc文件中,这是设置:
highlight LineNr guibg=grey

或者

hi LineNr guibg=grey

我不需要设置前景色,黄色是默认值,对我来说已经足够了。


3
除了使用 LineNr 来改变行号栏的高亮显示外,还可以使用 CursorLineNr 来改变光标所在行的行号栏高亮显示。 - adam_0
1
@adam_0 非常酷,结果发现需要使用 set cursorline 来突出显示行,并且默认情况下未开启(至少对我来说是这样;在CentOS上使用vim 7.4)。 - sushpa
1
实际上,“set cursorline”似乎是用于“突出显示整个光标行”,但似乎我甚至需要它来突出显示只是装订线。 - sushpa
1
使用 LightLine.vim 的用户可以获得一个反映当前模式的 CursorLineNr 高亮:hi! link CursorLineNr LightlineLeft_active_0 - sushpa

7

guibgguifg用于非终端的vim。对于终端,您使用ctermfg ctermbg。通常,在GUI vim中,您有更多的颜色支持,您只想避免背景。 因此,我通常使用以下内容:

highlight LineNr guibg=NONE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接