Vim 找不到syntax.vim

Dil*_*lmo 13 vim command-line compiling

最近,我需要从源代码构建 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
Run Code Online (Sandbox Code Playgroud)

不足为奇的是,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
Run Code Online (Sandbox Code Playgroud)

小智 9

问题是 make 命令。

make VIMRUNTIMEDIR=/usr/share/vim/vim74
Run Code Online (Sandbox Code Playgroud)

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

make VIMRUNTIMEDIR=/usr/local/share/vim/vim74
Run Code Online (Sandbox Code Playgroud)

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


iso*_*mes 9

在 bash 中运行:

export VIMRUNTIME=/usr/share/vim/vim73
Run Code Online (Sandbox Code Playgroud)

然后在 vim 中运行:

:syntax on
Run Code Online (Sandbox Code Playgroud)

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

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

请注意,为了永久起见,您可以将上述export行放入您的 shell 的个人初始化文件中,例如~/.bash_profile.


Spa*_*awk 6

你能做一个符号链接到 vim 认为它应该在哪里吗?IE

sudo ln -s /usr/local/share/vim/vim74/syntax/syntax.vim /usr/share/vim/vim74/syntax/syntax.vim
Run Code Online (Sandbox Code Playgroud)

(如果此目标目录不存在,则改为链接更高级别的目录。)

  • 您的回答肯定有帮助:为此+1。但是,由于它不太正确,我不能将其标记为解决方案。命令 `sudo ln -s /usr/local/share/vim/vim74 /usr/share/vim/vim74` 起作用了。无论如何感谢您的帮助。 (3认同)