更改vim的“gutter”颜色

75
请看下面我配置了vim的屏幕截图。 '+', '~'符号出现的地方是“gutter”,使用这个令人惊叹的sublime text port for vim,可以显示我的git状态:https://github.com/airblade/vim-gitgutter

我该如何更改没有“+”或“~”符号的地方(即灰色部分)的gutter颜色?这是如何更改数字列的方法: VIM initial settings: change backgound color for line number on the left side? 但我找不到如何更改“gutter”的颜色。
有什么好的建议吗?
非常感谢。
4个回答

76

这个“gutter”被称为标记列(请参阅:help signs获取更多信息)。与该列相关联的高亮组称为SignColumn,可以像这样设置(使用帮助部分中的示例):

:highlight SignColumn guibg=darkgrey

3
看起来很有希望。我正在使用vim(不是gvim),但它似乎没有任何动静(没有错误提示,只是没有反应)。也许guibg=darkgrey需要改成其他的值?如果我发现了什么,我会大喊一声。非常感谢。 - ale
7
确实,guibg可以设置GVim的背景颜色。对于控制台版Vim,请使用ctermbgctermfg等选项。有关完整文档,请查看:help highlight-cterm - Prince Goulash
4
几乎就对了(:highlight SignColumn 是正确的),但我必须执行以下操作::highlight SignColumn ctermbg=DarkGreen - ale
我该如何更改标记的前景色和背景色? - JohnTortugo
1
请确保在vimrc文件中的任何colourscheme设置之后添加此设置,否则它可能会被颜色方案重置。 - cd3k

52

要更改~/.vimrc中的颜色,以使您的装订线与行号显示的位置相同,请执行以下操作:

这里是实现方式:

highlight SignColumn ctermbg=NONE cterm=NONE
highlight clear SignColumn

在此输入图像描述

git-gutter文档中还有一些其他有用的建议。


1
这个应该放在任何colorscheme定义之 _后_。 - ayorgo

18

还有一个没有被提到的选项是完全消除符号列,将符号放入数字列中。

将此添加到您的~/.vimrc

set signcolumn=number

生成

数字列中的符号

(这是使用 Ale 插件在 iterm Vim 中使用自定义符号)。

这在“完整”Vim版本7.4.2201或更新版本中可用,包括 +signs 功能(我使用在 MacOS 上通过 Homebrew 安装的版本)。


2
@smelm 我刚刚检查了一下,:help signcolumn 说“如果没有编译 |+signs| 功能,则不可用”。我在 MacOS 上使用 Homebrew 安装了 vim。 - apostl3pol
2
signcolumn=number 已在 Vim 8.1.1564 中引入:https://github.com/vim/vim/commit/394c5d8870b15150fc91a4c058dc571fd5eaa97e - Denilson Sá Maia
哇,太棒了!可以节省我的屏幕空间 ;) - vasilakisfil

0

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