Récemment, j'avais besoin de compiler Vim à partir du code source pour utiliser un plugin nécessitant l'interprétation de Lua. Cela a bien fonctionné sur mon ordinateur portable, mais mon ordinateur de la tour a quelques problèmes. Chaque fois que je lance Vim, je reçois le message suivant:
Error detected while processing /home/XXXXXX/.vim/vimrc:
line 55:
E484: Can't open file /usr/share/vim/vim74/syntax/syntax.vim
Sans surprise, Vim ne parvient pas à mettre en évidence la syntaxe et lève un tas d'autres erreurs lors de l'édition de texte.
Ayant moi-même fait des recherches, je peux dire que syntax.vim est en fait dans /usr/local/share/vim/vim74/syntax/syntax.vim
, par opposition au répertoire mentionné précédemment. Comment puis-je résoudre ça?
Vim a été installé avec checkinstall
. Pour le compiler, j'ai lancé les commandes:
./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
Pouvez-vous simplement créer un lien symbolique vers l'endroit où vim pense que cela devrait être? c'est à dire.
Sudo ln -s /usr/local/share/vim/vim74/syntax/syntax.vim /usr/share/vim/vim74/syntax/syntax.vim
(Si ce répertoire cible n'existe pas, liez le répertoire de niveau supérieur à la place.)
Le problème est la commande make.
make VIMRUNTIMEDIR=/usr/share/vim/vim74
De la question, syntax.vim
se trouve en fait dans /usr/local/share/vim/vim74
, vous devriez donc plutôt utiliser ce qui suit.
make VIMRUNTIMEDIR=/usr/local/share/vim/vim74
En général, la variable VIMRUNTIMEDIR
utilisée par make
doit être cohérente avec la variable prefix
utilisée par le script configure
.
En bash run:
export VIMRUNTIME=/usr/share/vim/vim73
Puis dans vim run:
:syntax on
(Dans mon cas, vim cherchait dans /usr/share/vim/vim74
, alors qu'il n'y avait pas de /usr/local/share/...
. J'étais sur un AWS EC2 Ubuntu.)
En outre, il devait être VIMRUNTIME
, pas VIMRUNTIMEDIR
.
Notez que, par souci de permanence, vous pouvez placer la ligne export
ci-dessus dans le fichier d’initialisation personnel de votre shell, par exemple. ~/.bash_profile
.