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

103

Sur mon serveur Linux au travail, les administrateurs n’ont pas installé cscope. Je l’ai installé à partir du code source dans mon répertoire personnel et l’a ajouté à $ PATH. Le problème, c'est que / etc / vimrc contient 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 et n’exécute alors que la configuration de cscope - mais ensuite, il se trompe!

Ma question est donc la suivante: puis-je configurer quelque chose dans mon fichier .vimrc pour qu’il ne source pas le fichier global / etc / vimrc? Je ne veux pas déplacer cscope hors de PATH, car je ne veux pas taper le nom de répertoire complet chaque fois que je l'exécute à partir de la ligne de commande.

florin
la source

Réponses:

77

De la page de manuel de Vim :

-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 voulez 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 dans ~ / .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, "Execute Ex commandes, de variables d’environnement et / ou de fichiers ").

Steve Simms
la source
Merci! Cela m'a enfin permis d'éditer un fichier qui (pour une raison quelconque) avait des milliers de caractères sur une ligne et qui gèlerait sinon mon Vim pour toujours.
Hubro
96

De la page de manuel de Vim :

-u {vimrc}

Utilisez les commandes du fichier {vimrc} pour les initialisations. Toutes les autres initialisations sont ignorées. Utilisez ceci pour éditer un type spécial de fichiers. Il peut également être utilisé pour ignorer toutes les initialisations en donnant le nom "NONE". Voir ": initialisation de l'aide" dans vim pour plus de détails.

Donc, cela devrait faire le travail:

vim -u NONE

Vous devriez être capable d'alias ceci à votre commande normale pour un usage quotidien.

lourd
la source
1
... mais je veux que ~ / .vimrc soit exécuté, mais pas / etc / vimrc
florin
3
vim -u ~/.vimrc
lourde