Недавно мне нужно было создать 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
В bash run:
export VIMRUNTIME=/usr/share/vim/vim73
Затем в vim run:
:syntax on
(В моем случае vim смотрел в /usr/share/vim/vim74, тогда как не было . Я был на AWS EC2 Ubuntu.)
Кроме того, это должно было быть VIMRUNTIME, а не VIMRUNTIMEDIR.
Обратите внимание, что для постоянства вы можете разместить выше [ f7] в личный файл инициализации вашей оболочки, например [F8].
Проблема заключается в команде 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.