Macvim默认不加载特定的颜色方案

8
我遇到了与VIM Color scheme not loading by default类似的问题。
但是我遇到的问题是默认情况下无法加载这个gentooish主题,这个主题可以在vim官网上找到。
出于某种原因,macvim拒绝默认加载这个颜色方案。
我的vimrc文件如下,我没有.gvimrc文件。
:set term=xterm-256color
:set t_Co=256
set background=dark
colorscheme gentooish

但是一旦我打开了MacVim,如果我输入:colorscheme gentooish,它就会正常加载。而且如果我在命令行中键入vim,它也会默认加载。只是在MacVim中默认不会加载。

有什么想法吗?

2个回答

19

MacVim加载了自己的默认gvimrc文件,该文件应用了一个默认的配色方案。由于gvimrc文件在vimrc文件之后处理,因此您的:colorscheme命令的颜色将被默认gvimrc中的颜色覆盖。

有两个解决方法:创建自己的gvimrc文件,并在其中放置配色方案命令:

$ cd
$ echo "colorscheme gentooish" > .gvimrc

或者,在你的vimrc文件中加入以下行,可以阻止MacVim应用其自己的配色方案(参见:h macvim-colorscheme)。

或者,将以下代码放在你的vimrc文件中,可以防止MacVim使用自己的颜色方案(详见:h macvim-colorscheme)。

let macvim_skip_colorscheme = 1

谢谢大家,创建了一个使用colorscheme gentooish的.gvimrc就可以了! - Marcello
3
完全胡说八道。我在我的~/.vimrc中使用了colorscheme somename,没有用过~/.gvimrc,也没有使用let macvim_skip_colorscheme = 1,并且已经使用MacVim超过两年,从未遇到过任何颜色方案的问题。 - romainl
2
@romainl 我也有一台旧的 MacVim,它可以像你那样正常工作。macvim_skip_colorscheme 变量似乎是一个相对较新的添加。 - glts
我已经运行最新的快照66(7.3.754)两周了,之前几个月我一直在运行快照64,而且在过去的两年中也运行了其他被遗忘的版本,但从未遇到任何配色问题。你是否和OP一样遇到了这个问题? - romainl
有趣。我一直在我的gvimrc中使用:colorscheme solarized命令,因为我觉得这是MacVim的正确位置,当然它也会起作用。所以回答你的问题,我们两个都没有OP遇到的问题。 - glts
当主题未正确设置g:colors_name值时,我不得不使用macvim_skip_colorscheme。在主题中修复这个问题解决了它。 - ericbn

5
  1. 在你的 ~/.vimrc 中不需要使用 :

  2. termt_Co 是特定于终端的选项。 MacVim是 Vim 的图形用户界面,对它们不太关注。如果您不在终端中使用 Vim,则不需要这两行。

  3. set background=dark 使Vim做了一些几乎不可察觉但很有用的事情:它由Vim自动设置,并通常被你的颜色方案覆盖。您可以安全地将其从您的 ~/.vimrc 中删除。

只是为了确保我们在同一个页面上,你能确认:

  • 你的 .vimrc 路径是 ~/.vimrc 吗?
  • 你的颜色方案路径是 ~/.vim/colors/gentooish.vim 吗?

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