设置 Vim 的背景颜色

131

当我尝试在.vimrc中或直接在Vim中使用命令更改背景颜色时:

set background=dark

我更改Vim的背景颜色不会影响我的Konsole设置,light选项也是如此。但是,当我运行gvim时,它看起来还可以。

有没有一种方法可以在不更改Konsole设置的情况下更改Vim的背景?

编辑:好的,guifg/guibg和ctermfg/ctermbg之间存在差异。虽然GUI接受许多不同的颜色组合,但cterm仅允许几个标准颜色。


1
你也可以让终端接受很多这些颜色。请参阅此页面:http://vim.wikia.com/wiki/256_colors_in_vim - Matthew
5个回答

167

正如vim上的set background帮助文档所说,"设置此选项不会更改背景颜色,它告诉Vim背景颜色的样子。要更改背景颜色,请参见|:hi-normal|"。

例如

:highlight Normal ctermfg=grey ctermbg=darkblue

将在你的彩色终端上以白色字体在蓝色背景中书写。


1
可能是因为Vim认为你使用的终端类型不同。 - rampion
3
我该如何将这个添加到我的vimrc文件中? - Marin
6
请参阅:help hl-NonText,了解文件末行后面的背景颜色。 - Matthew
2
@Marin:将示例中的行粘贴到您的vimrc中,:highlight Normal ctermfg=grey ctermbg=darkblue。替换您想要的任何颜色。 - Matthew
LPT:不要尝试将.vimrc作为shell命令执行,只需将该行放在那里并快乐即可。 - Julio Marins
显示剩余4条评论

26

在像konsole或gnome-terminal这样的终端仿真器中,您应该为vim设置256色设置。

:set  t_Co=256

之后,您可以更改您的背景。


1
你可能想在你的终端中设置它: export TERM='xterm-256color' - Bart Louwers

15

尝试添加

set background=dark

对于编程来说,将代码写入你的.gvimrc文件中也是个不错的选择。这在我这里很有效。


6

在某些语法高亮方案中,使用白色背景与set bg=dark一起使用可能会产生几乎无法阅读的文本。相反,您可以将整体颜色方案更改为在终端中看起来不错的方案。颜色方案文件应适当地为您设置背景属性。此外,欲了解更多信息,请参见:

:h color

7
这就是为什么我在这里发问的原因。即使使用深色主题,也不会影响我的默认背景颜色。 - Maksim Vi.

2

Windows补充说明

gvim版本:8.2

.gvimrc文件位置:%userprofile%/.gvimrc

" .gvimrc
colorscheme darkblue

哪种颜色可以让我选择?

找到安装目录并进入colors目录。 在我的情况下是: %PROGRAMFILES(X86)%\Vim\vim82\colors

blue.vim
darkblue.vim
slate.vim
...
README.txt

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