Wo werden diese nicht standardmäßigen Vim-Einstellungen gespeichert, wenn nicht in meiner .vimrc-Datei?

Wo werden diese nicht standardmäßigen Vim-Einstellungen gespeichert, wenn nicht in meiner .vimrc-Datei?

Wenn ich also drücke, :setsehe ich eine Reihe von Einstellungen, die nicht in meiner ~/.vimrcDatei vorhanden sind. (Ich vermute, es sind Einstellungen, die ich vor Jahren festgelegt habe und an die ich mich nicht erinnere.)

Das mache ich :versionund bekomme einen Pfad $VIM/vimrc, der angeblich von "fallback" verwendet wird usr/share/vimrc. Das ist das "System-vimrc".

Ich öffne den letzteren Pfad und die mysteriösen Einstellungen sind nicht in dieser vimrc-Datei.

Der einzige andere Pfad ist die „Benutzer-Excrc-Datei“ unter $HOME/.exrc, und ich habe keine Ahnung, wie ich dorthin komme oder was sie ist.

Hat jemand eine Idee, woher die Einstellungen kommen, die angezeigt werden, wenn ich den Befehl :seteingebe?

Ich verwende OS X (10.6).

Antwort1

Es gibt eine Reihe von Dingen, die Vim automatisch einstellt, wenn ~/.vimrc vorhanden ist. Darunter ist 'nocompatible', was eine Reihe anderer Optionen beeinflusst. Darüber hinaus versucht Vim, die richtigen Werte für andere Einstellungen basierend auf der Umgebung zu erkennen. Beispielsweise 'background'kann der richtige Wert von Vim oft automatisch erkannt werden, wenn es von einem Xterm oder einem kompatiblen Terminalemulator aufgerufen wird. Die Spracheinstellungen basieren auf Ihren Umgebungsvariablen.

Schließlich können Sie " :scriptnames" ausführen, um zu sehen, welche Dateien Vim seit dem Start verwendet hat. Dies sollte Ihnen auch zeigen, wo sich das System vimrcbefindet, falls es existiert.

Antwort2

Versuchen Sie /etc/vimrces, da dies die Standardeinstellung für die meisten Linux-Distributionen ist, die ich kenne, und dies möglicherweise auch für OS X der Fall ist.

Antwort3

Um zu sehen, wo eine bestimmte Option zuletzt festgelegt wurde, führen Sie aus

:verbose set <option>?

Um die Optionen anzuzeigen, die vim selbst festlegt, starten Sie vim als

vim -N -u NONE

dann ausführen :set. In meinem Fall, bei dem ich Vim 7.3.487 unter Linux verwende, sehe ich

:set
--- Options ---
  helplang=en         scroll=11           ttymouse=xterm2
noloadplugins         ttyfast
  fileencodings=ucs-bom,utf-8,default,latin1
  background=light

Um herauszufinden, warum einige davon so eingestellt sind, verwenden Sie :help. Beispielsweise :help 'ttyfast'wird erklärt, dass es eingestellt ist, weil vim festgestellt hat, dass mein Terminal ein xterm ist.

verwandte Informationen