Ubuntu 上 VIM 8.0 中的 syncolor.vim 语法高亮错误

Ubuntu 上 VIM 8.0 中的 syncolor.vim 语法高亮错误

我最近在我的 Ubuntu 14.04 机器上安装了 VIM 8.0。当我打开 vim 时,它输出一个错误:

> vim ~/.vimrc
Error detected while processing /usr/local/share/vim/vim80/syntax/syncolor.vim:
line   36:
E254: Cannot allocate color Orange1
E254: Cannot allocate color Orange1
Press ENTER or type command to continue

当我按下回车键时,它打开时没有语法高亮显示(但是使用配色方案,如果我将 :colorscheme 更改为其他内容,颜色会略有变化)。

但如果我以 root 身份运行,它会以语法高亮显示。

sudo vim ~/.vimrc

我认为这是一个权限问题,因此我将 syncolor.vim 设置为所有人都可读:

> ll /usr/local/share/vim/vim80/syntax/syncolor.vim 
-rwxrwxrwx 1 root root 4.0K Dec 22 23:29 /usr/local/share/vim/vim80/syntax/syncolor.vim

还是没运气。然后我想知道 root 下的 vim 是否与我的用户下的 vim 设置不同:

> which vim
/usr/local/bin/vim
> /usr/local/bin/vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Dec 22 2016 23:01:25)


> sudo which vim
/usr/local/bin/vim
> sudo /usr/local/bin/vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Dec 22 2016 23:01:25)

我的下一个想法是 root 的 TERM 不同:

> echo $TERM
xterm-256color
> sudo echo $TERM
xterm-256color

root 和我自己的用户都使用相同的 .vimrc 文件:

echo $MYVIMRC
/home/aaron/.vimrc

我不知所措。我的用户和 root 之间还有什么不同会导致颜色无法加载?

答案1

问题很可能出在您的“$VIMRUNTIME”文件夹中的“defaults.vim”,在这种情况下可能意味着../usr/local/share/vim/vim80/defaults.vim

我刚刚尝试在 OpenVMS 上使用 vim 8.1 修复同样的问题,结果发现这是导致 vim 加载时vim -u [some garbage filename]强制 vim 在没有系统 .vimrc 的情况下加载,而且也没有系统 defaults.vim

相关内容