Question Comment démarrer vim sans exécuter / etc / vimrc?


Sur mon serveur Linux au travail, les administrateurs n’ont pas installé cscope et je l’ai installé depuis le source dans mon répertoire personnel et je l’ai ajouté à $ PATH. Le problème est que / etc / vimrc a une référence à / usr / bin / cscope qui n'existe pas et à chaque fois que je lance vim, il s'en plaint et je dois faire pression pour que ce message disparaisse.

Il est intéressant de noter que si je supprime cscope de mon $ PATH, je n’obtiens pas ce comportement - il est donc possible que vim teste que cscope existe quelque part, puis qu’il exécute uniquement la configuration de cscope - mais il se trompe!

Donc, ma question est la suivante: puis-je configurer quelque chose dans mon fichier .vimrc pour ne pas générer le fichier global / etc / vimrc? Je ne veux pas sortir cscope de PATH, car je ne veux pas taper le nom complet du répertoire à chaque fois que je le lance depuis la ligne de commande.


91
2018-05-13 21:01


origine




Réponses:


Du Vim Man page:

-u {vimrc}

Use the commands in the file {vimrc} for initializations. All the other
initializations are skipped. Use this to edit a special kind of files.
It can also be used to skip all initializations by giving the name "NONE".
See ":help initialization" within vim for more details.

Si vous souhaitez toujours que votre ~ / .vimrc soit traité, essayez ceci:

vim -u ~/.vimrc

Ajoutez la ligne suivante à ~ / .bashrc (ou au fichier équivalent de votre shell si ce n'est pas bash) pour que le commutateur -u soit ajouté automatiquement:

alias vim="vim -u ~/.vimrc"

Vous ne pourrez pas ajouter quelque chose à ~ / .vimrc pour empêcher la lecture de / etc / vimrc, car le fichier système est traité avant votre fichier utilisateur (voir ": help init", section 3, "Exécuter des commandes Ex, à partir de variables d'environnement et / ou de fichiers ").


71
2018-05-13 22:27



Merci! Cela m'a finalement permis d'éditer un fichier qui (pour une raison quelconque) avait des milliers de caractères sur une seule ligne et gelerait mon Vim pour toujours. - Hubro


Du Vim Man page:

-u {vimrc}

Utilisez les commandes du fichier {vimrc} pour les initialisations.   Toutes les autres initialisations sont                    sauté. Utilisez ceci pour éditer un type particulier de                    des dossiers. Il peut également être utilisé pour ignorer toutes les initiales                    izions en donnant le nom "NONE". Voir ": aide                    initialisation "dans vim pour plus de détails.

Donc cela devrait faire le travail:

vim -u NONE

Vous devriez pouvoir créer un alias avec votre commande normale pour un usage quotidien.


84
2018-05-13 21:36



... mais je veux que ~ / .vimrc s'exécute, mais pas / etc / vimrc - florin
vim -u ~/.vimrc - heavyd
Le drapeau NONE était très pratique, merci! - Niels Bom