Vim 找不到语法.vim

Vim 找不到语法.vim

最近,我需要从源代码构建 Vim 以使用需要 Lua 解释的插件。这在我的笔记本电脑上运行良好,但我的塔式电脑出现了一些问题。每次运行 Vim 时,我都会收到以下消息:

Error detected while processing /home/XXXXXX/.vim/vimrc:
line   55:
E484: Can't open file /usr/share/vim/vim74/syntax/syntax.vim

毫不奇怪的是,Vim 无法突出显示语法,并且在编辑文本时抛出一堆其他错误。

我自己做了一些研究后发现,syntax.vim 实际上位于 中/usr/local/share/vim/vim74/syntax/syntax.vim,而不是前面提到的目录中。我该如何解决这个问题?

更多信息

Vim 是使用 来安装的checkinstall。为了编译它,我运行了以下命令:

./configure --with-features=huge --enable-cscope --enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu --enable-multibyte --enable-fontset --disable-gui --disable-netbeans --enable-luainterp=yes --with-lua-prefix=/usr/include/lua5.1 --enable-largefile
make VIMRUNTIMEDIR=/usr/share/vim/vim74

答案1

在 bash 中运行:

export VIMRUNTIME=/usr/share/vim/vim73

然后在 vim 中运行:

:syntax on

(在我的情况下,vim 正在寻找/usr/share/vim/vim74,而没有/usr/local/share/...。我在 AWS EC2 Ubuntu 上。)

此外,它必须是VIMRUNTIME,而不是VIMRUNTIMEDIR

请注意,为了永久保留,您可以将上面一行放入exportshell 的个人初始化文件中,例如~/.bash_profile

答案2

问题在于 make 命令。

make VIMRUNTIMEDIR=/usr/share/vim/vim74

从问题来看,syntax.vim实际上位于,/usr/local/share/vim/vim74因此您应该使用以下内容。

make VIMRUNTIMEDIR=/usr/local/share/vim/vim74

一般来说,VIMRUNTIMEDIR使用的变量make应该与脚本prefix使用的变量一致configure

答案3

你能建立一个符号链接到 vim 认为它应该在的位置吗?即

sudo ln -s /usr/local/share/vim/vim74/syntax/syntax.vim /usr/share/vim/vim74/syntax/syntax.vim

(如果该目标目录不存在,则链接上级目录。)

相关内容