E185: 无法找到配色方案 *

30

我一直在自定义我的vimrc文件,但出现了某些问题,没有任何配色方案能够生效。每当我尝试更改配色方案时,它只会给我以下提示:

E185: Cannot find color scheme '*'

我检查了color文件夹以确保我实际上拥有颜色,我确实拥有。例如,color文件夹中的第一项是blue.vim,但当我在vimrc中加入colorscheme blue时,它并未生效。

E185: Cannot find color scheme 'blue'

当我启动Vim时,发现颜色方案没有应用。我尝试在Vim内部更改颜色方案,但依然返回相同的错误信息。到目前为止,我尝试了所有其他的vimrc设置都有效。


你是什么意思?我尝试过的配色方案都在color文件夹中。 - Bigbadboybob
请确保您的$VIMRUNTIME路径中有rgb.txt文件。 - Christian Brabandt
@ChristianBrabandt 我也遇到了同样的问题,我记得以前尝试设置sway时也遇到过类似的问题,因为"XDG_RUNTIME未设置值"或者类似的错误(那时候已经很久了,所以我不记得具体细节了)。最终我放弃了,因为我不知道该设置什么值。我现在确定这是同一个问题。我相信你走在了正确的道路上。也许这会增加所需的上下文。也许vim运行时指向xdg运行时? - Nate T
6个回答

48

如果你使用Plug作为插件管理器,可以在声明提供主题的插件后设置配色方案来解决问题:

call plug#begin()
Plug 'rakr/vim-one'   " tell Vim to load the theme/plugin
call plug#end()

colorscheme one       " set the color scheme after the theme provider has been loaded

5
谢谢,这真的帮了我大忙! - Dylan Kerler
我正在按不同文件组织配置,你的解决方案对我很有帮助!谢谢! - Sgryt
1
你救了我的一天!!!Lual当选总统! - Dave

37

这听起来像是您的'runtimepath'选项存在问题。如果您使用插件管理器,则通常会扩展此选项。默认位置应该是~/.vim/colors。请检查一下。

:set runtimepath?

那里应该有一个~/.vim文件夹(或同等的替代品)。

如果其他方法都失败了,你也可以直接输入:source /full/path/to/your/color.vim来执行。


1
'runtimepath=/vimfiles,\Desktop/vimfiles,\Desktop,\Desktop/vimfiles/after,~ /vimfiles/after,~/vim80/bundle/Vundle.vim' - Bigbadboybob
2
执行set runtimepath命令后,会得到以下结果:'runtimepath=/vimfiles,\Desktop/vimfiles,\Desktop,\Desktop/vimfiles/after,/vimfiles/after,/vim80/bundle/Vundle.vim'。我不确定该怎么处理这个结果?当我执行:source C:\full path to\colors时,系统提示'E484: Can't open file C:\full path to\colors'。 - Bigbadboybob
那么,你的颜色方案脚本在哪里?在runtimepath中的一个目录中的colors/name.vim中吗?你使用了实际路径(而不是示例)和:source吗?如果文件路径存在,则不应该出现E484错误。另外,我注意到你正在使用Vundle。你是否在Vundle初始化后放置了:color blue - Ingo Karkat
6
尝试添加darcula方案时,我来到了这个页面,结果发现我错误地打成了dracula。 - Luciano
@HalfWebDev:这实际上取决于您放置颜色方案的位置/安装位置。通常情况下,'runtimepath'必须包含其列表中的目录部分,然后实际的颜色方案位于其中的colors/colorschemename.vim子目录/文件中。这就是它的组成方式。 - Ingo Karkat
显示剩余4条评论

3

对我而言,通过从颜色方案文件中移除扩展名来解决了问题。

尝试将blue.vim重命名为blue


3

我最近遇到了这个错误。在我这种情况下,问题是文件中颜色主题的名称与文件名不同。将文件中的颜色方案重命名后,问题得到解决。

在COLOR1.vim中:

let g:colors_name = "COLOR2"

转变为:

let g:colors_name = "COLOR1"

问题已经得到解决。

我认为更改文件名也可以解决这个问题。


2
在我的情况下,文件名是editplus.vim,文件中是let colors_name = "EditPlus"。这在我的Mac上运行良好,但当我切换到Linux时无法工作。我认为这是因为Linux区分大小写。 - HelloWorld101

1
这也可能是由于配置文件(~/.vimrc,系统 vimrc)中的条目/工件,或者如果您使用“vim -u ...”命令行选项指向自定义配置文件。 这些工件可能是以下内容之一: set rtp -=$HOME/.vimrc set rtp -=$HOME/.vimrc/after set runtimepath -= $HOME/.vimrc ...等等... 如果您在配置文件中找到这些条目,请将它们注释掉,以查看错误是否消失。 这些通常是 vim 的测试配置中的条目,仅在特殊情况下使用。 如果您将此类测试配置文件用作日常 vim 配置的模板,则它们可能是不必要的。

0
我的解决方案是: (1)从150种颜色下载配色方案,例如 参考:Vim配色方案 (2)将(1)中的文件移动到“/usr/share/vim/vimfiles/colors/”文件夹中 文件夹的位置因操作系统而异。CentOS中的位置与Ubuntu操作系统中的“~/.vim/colors/”不同。 参考:Ingo Karket的建议, Caleb的帖子, Enrico的注释 (3)在“~/.vimrc”文件中添加colorscheme <配色方案>一行 请确保与“colors”文件夹中的配色方案的大小写匹配。
运行环境:
  操作系统:CentOS 7.9
  计算机:Intel Nuc

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