Afin de m'assurer que le comportement n'est pas affecté par ma configuration personnelle, je veux démarrer Vim d'une manière qui ignore tous mes fichiers de configuration installés par l'utilisateur, comme si Vim venait juste d'être fraîchement installé pour la première fois et que l'utilisateur l'avait exécuté immédiatement.
Ceci est résolu dans la FAQ qui suggère que la réponse est de démarrer Vim avec la commande suivante:
vim -u NONE -U NONE -N -i NONE
Cela arrive la plupart du temps, mais l' runtimepath
option contient toujours ~/.vim
et, notamment, ~/.vim/after
(donc par exemple si j'active ensuite la détection de type de fichier et change le type de fichier, le code ~/.vim/after/syntax/the_relevant_filetype.vim
sera exécuté).
Je peux contourner ce problème spécifique en appelant les commandes suivantes au démarrage *:
:set runtimepath-=~/.vim
:set runtimepath-=~/.vim/after
... mais je ne sais pas si:
- Il s'agit d'une solution robuste: sont-ce les seuls chemins qui peuvent faire en sorte que la configuration utilisateur prenne effet? Y a-t-il autre chose auquel je n'ai pas pensé?
- Il existe une meilleure façon d'atteindre le résultat souhaité.
* En utilisant --cmd
ou en -u vimrc
shell des arguments, ou simplement en les tapant manuellement.
EDIT : Voici un exemple spécifique du type de problème que j'essaie de résoudre. (Bien que j'aimerais que la solution corrige tout autre problème possible que je n'ai peut-être pas encore rencontré.):
Créez un fichier ~ / .vim / after / ftplugin / c.vim, contenant le contenu:
noremap i :echom "This is not default behaviour"<CR>
Nous avons maintenant une configuration installée par l'utilisateur que nous voulons ignorer. Testons la solution proposée par la FAQ.
Exécutez Vim avec la commande:
vim -u NONE -U NONE -N -i NONE
Entrez les commandes:
:filetype plugin on :set ft=c i
Comportement souhaité : Vim doit passer en mode Insertion. C'est ce qu'il ferait si aucune configuration utilisateur n'existait.
Comportement observé : Vim affiche "Ce n'est pas un comportement par défaut"
:cd ~
, mais également l'emplacement par défaut du viminfo
fichier est dans $ HOME, ce qui peut provoquer E138. Je suppose que créer un nouveau répertoire vide et l'utiliser pour $ HOME pourrait être la meilleure solution.
-u NONE
?
/tmp
, ça pourrait être mieux, c'était ma première pensée, mais j'ai ensuite choisi / dev / null comme trou noir. ... Ou quelque chose comme HOME=$(mktemp -d) vim ...
.
-u NONE
? Cela dépend du comportement dont vous avez besoin, je suppose.
HOME=/dev/null vim -u NONE
?