1

我的 vimrc 中有以下几行

colorscheme solarized

这显然设置了日晒配色方案。我实际的 .vimrc 肯定比这长,我还为 solarized 指定了更多选项。但是,我面临的问题可以使用这个最小的 vimrc 文件来演示。

当我打开 vim(7.3 版)时,它以黑色背景和日晒配色方案开始。当我:source ~/.vimrc再次获取 vimrc 时,它会切换到浅色背景。之后,我可以多次获取 vimrc 并且背景仍然很亮。

除了这可能是 solarized 中的错误之外,我不明白同一个 vimrc 在 vi​​m 中获取时如何产生不同的行为。

我希望寻找有关如何进行调试的指示。

更新:

在@jim-stewart 发表评论后,我进行了更彻底的调试。在 my.vimrcsolarized.vim.

我发现,当我.vimrc运行时,solarized.vim来源并设置了正确的调色板(在我的情况下elseif g:solarized_termcolors != 256 && &t_Co >= 16)。

然后.vimrc到达终点(如果有,则执行其他命令),然后solarized.vim再次获取源,但这次调色板错误地设置为 ( if(has("gui_running") && (g:solarized_degrade == 0)))。我检查了此if语句中的变量,它们具有正确的值,不应设置此调色板。

我不知道为什么solarized.vim要两次采购,而第二次采购太错误了。一旦我进入 vim 并调用 :echo g:colors_name它,它就会产生E121错误并告诉我变量没有被设置。

现在,vim如果我从内部调用,:colorscheme solarized那么我会根据background. 此外,:echo g:colors_name返回solarized.

4

0 回答 0