web-dev-qa-db-fra.com

Vim ne trouve pas syntax.vim

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?

Plus d'informations

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
13
Dillmo

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.)

5
Sparhawk

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.

8
Praxeolitic

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.

5
isomorphismes