Wie starte ich vim, ohne / etc / vimrc auszuführen?

103

Auf meinem Linux-Server bei der Arbeit haben die Administratoren cscope nicht installiert, und ich habe es von der Quelle in meinem Ausgangsverzeichnis installiert und es dem $ PATH hinzugefügt. Das Problem ist, dass die Datei / etc / vimrc einen Verweis auf / usr / bin / cscope enthält, der nicht vorhanden ist. Jedes Mal, wenn ich vim starte, beschwert sie sich darüber und ich muss darauf drücken, dass diese Nachricht verschwindet.

Es ist interessant, dass wenn ich cscope von meinem $ PATH entferne, ich dieses Verhalten nicht bekomme - es ist also möglich, dass vim testet, dass cscope irgendwo existiert, und erst dann die cscope-Konfiguration ausführt - aber dann wird es falsch!

Meine Frage lautet also: Kann ich in meiner .vimrc-Datei etwas einrichten, damit die globale Datei / etc / vimrc nicht als Quelle verwendet wird? Ich möchte cscope nicht aus PATH verschieben, da ich den vollständigen Verzeichnisnamen nicht jedes Mal eingeben möchte, wenn ich ihn über die Befehlszeile ausführe.

Gulden
quelle

Antworten:

77

Von der Vim-Manpage :

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

Wenn Sie weiterhin möchten, dass Ihre ~ / .vimrc verarbeitet wird, versuchen Sie Folgendes:

vim -u ~/.vimrc

Fügen Sie die folgende Zeile zu ~ / .bashrc (oder der entsprechenden Datei Ihrer Shell, wenn nicht bash) hinzu, damit der Schalter -u automatisch hinzugefügt wird:

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

Sie können ~ / .vimrc nichts hinzufügen, um zu verhindern, dass / etc / vimrc gelesen wird, da die Systemdatei vor Ihrer Benutzerdatei verarbeitet wird (siehe ": help init", Abschnitt 3, "Ausführen von Ex-Befehlen", aus Umgebungsvariablen und / oder Dateien ").

Steve Simms
quelle
Vielen Dank! Dadurch konnte ich endlich eine Datei bearbeiten, die (aus irgendeinem Grund) Tausende von Zeichen in einer Zeile enthielt und ansonsten meine Vim für immer einfrieren würde.
Hubro
96

Von der Vim-Manpage :

-u {vimrc}

Verwenden Sie für die Initialisierung die Befehle in der Datei {vimrc}. Alle anderen Initialisierungen werden übersprungen. Verwenden Sie diese Option, um eine bestimmte Art von Dateien zu bearbeiten. Sie können damit auch alle Initialisierungen überspringen, indem Sie den Namen "NONE" eingeben. Weitere Informationen finden Sie unter ": help initialization" in vim.

Das sollte also funktionieren:

vim -u NONE

Sie sollten in der Lage sein, dies Ihrem normalen Befehl für den täglichen Gebrauch zuzuordnen.

heavyyd
quelle
1
... aber ich möchte, dass ~ / .vimrc ausgeführt wird, nur nicht / etc / vimrc
florin
3
vim -u ~/.vimrc
Heavyd