Wo ist meine .vimrc-Datei?

436

Ich habe Vim verwendet und möchte meine Einstellungen wirklich speichern. Das Problem ist, dass ich meine .vimrc-Datei nicht finden kann und sie sich nicht am Standardspeicherort befindet /home/user/.vimrc. Wie finde ich diese Datei?

Eman
quelle
21
Wenn es nicht da ist, erstelle es.
10
Mein Ubuntu-Computer hatte es in einer Datei namens /usr/share/vim/vimrc.
ckjbgames
4
Mögliches Duplikat von Wie finde ich die vom vim-Editor verwendete vimrc-Datei?
Yashgarg1232

Antworten:

512

Sie müssen es erstellen. In den meisten Installationen, die ich verwendet habe, wurde es nicht standardmäßig erstellt.

Sie erstellen es normalerweise als ~/.vimrc.

AlG
quelle
17
Überprüfen Sie auch / etc / vim / vimrc
Natesh bhat
@Nateshbhat: soll ich das weiter benutzen /etc/vim/vimrcoder kopieren ~/.vimrc? Oder kann ich beides haben?
Mohammad Faisal
Wenn Sie es anpassen möchten, kopiere ich es zuerst lokal. Andernfalls ändern Sie die Einstellungen für alle Benutzer.
AlG
353

Diese Methoden funktionieren, wenn Sie bereits eine .vimrc-Datei haben:

:scriptnamesListen Sie alle .vim-Dateien auf, die Vim für Sie geladen hat, einschließlich Ihrer .vimrcDatei.

:e $MYVIMRCÖffnen und bearbeiten Sie die aktuelle .vimrc, die Sie verwenden, und verwenden Sie dann Ctrl+ G, um den Pfad in der Statusleiste anzuzeigen.

Philia Fan
quelle
7
@MorganWilde Nicht unbedingt, :scriptnamesund :e $MYVIMRCbeide geben für mich leere Ausgaben zurück.
Rohmer
1
+1 für :scriptnames. Es $MYVIMRCist jedoch nicht garantiert, dass dies festgelegt wird, beispielsweise wenn Sie vim mit starten vim -u filename.
1983
4
: scriptnames hat vimrc aber nicht .vimrc, sind sie gleich? Ich finde sie in meinem Ordner usr / share. Würde das Hinzufügen von ~ / .vimrc (als akzeptierte Antwort) dann ohne weitere Konfiguration überhaupt etwas bewirken? Ist dies eine Möglichkeit, dem vimrc benutzerspezifische Optionen hinzuzufügen?
Tyler
14
Beachten Sie, dass dies :e $MYVIMRCnur funktioniert, wenn überhaupt eine vimrcDatei vorhanden ist . Andernfalls wird eine buchstäblich aufgerufene Datei bearbeitet $MYVIMRC.
Tomalak
1
@ Shadoninja - das war nicht "deins", das ist die globale rcDatei. Was auch immer Sie in Ihrer .vimrcDatei definieren (in den meisten Fällen in Ihrem Home-Verzeichnis), überschreibt die Standardeinstellungen in /etc/vimrc.
Mathguy
92

Kurze Antwort:

Starten Sie Vim, um Ihr vimrc zu erstellen, und führen Sie einen der folgenden Schritte aus:

:e $HOME/.vimrc  " on Unix, Mac or OS/2

:e $HOME/_vimrc  " on Windows

:e s:.vimrc      " on Amiga

Geben Sie die gewünschten Einstellungen ein und speichern Sie die Datei.

Beachten Sie, dass das Vorhandensein dieser Datei die compatibleOption deaktiviert . Siehe unten für Details.

Lange Antwort:

Es gibt zwei Arten von Vimrc:

  • der Benutzer vimrc in$HOME
  • das System vimrc in $VIM(wird auf Amiga-Systemen s:.vimrcals Benutzer vimrc betrachtet)

Die Benutzer-vimrc-Datei ist häufig erst vorhanden, wenn sie vom Benutzer erstellt wurde. Wenn Sie $HOME/.vimrc(oder $HOME/_vimrcunter Windows) nicht finden können, können und sollten Sie es einfach erstellen.

Das System vimrc sollte normalerweise unverändert bleiben und befindet sich im Verzeichnis $VIM* . Das System vimrc ist kein guter Ort, an dem Sie Ihre persönlichen Einstellungen behalten. Wenn Sie diese Datei ändern, werden Ihre Änderungen möglicherweise überschrieben, wenn Sie Vim jemals aktualisieren. Änderungen hier wirken sich auch auf andere Benutzer in einem Mehrbenutzersystem aus. In den meisten Fällen überschreiben die Einstellungen im Benutzer vimrc die Einstellungen im System vimrc.

Von :help vimrc:

Eine Datei, die Initialisierungsbefehle enthält, wird als "vimrc" -Datei bezeichnet. Jede Zeile in einer vimrc-Datei wird als Ex-Befehlszeile ausgeführt. Es wird manchmal auch als "exrc" -Datei bezeichnet. Es handelt sich um denselben Dateityp, aber "exrc" wird immer von Vi verwendet. "Vimrc" ist ein Vim-spezifischer Name. Siehe auch | vimrc-intro |.

Orte für Ihre persönlichen Initialisierungen:

    Unix            $HOME/.vimrc or $HOME/.vim/vimrc
    OS/2            $HOME/.vimrc, $HOME/vimfiles/vimrc
                    or $VIM/.vimrc (or _vimrc)
    MS-Windows      $HOME/_vimrc, $HOME/vimfiles/vimrc
                    or $VIM/_vimrc
    Amiga           s:.vimrc, home:.vimrc, home:vimfiles:vimrc
                    or $VIM/.vimrc

Die Dateien werden in der oben angegebenen Reihenfolge durchsucht und nur die erste gefundene Datei wird gelesen.

(MacOS zählt für die oben genannten als Unix.)

Beachten Sie, dass die bloße Existenz eines Benutzers vimrc das Verhalten von Vim ändert, indem die compatibleOption deaktiviert wird . Von :help compatible-default:

Wenn Vim gestartet wird, ist die Option "Kompatibel" aktiviert. Dies wird verwendet, wenn Vim seine Initialisierungen startet. Sobald jedoch eine Benutzer-vimrc-Datei oder eine vimrc-Datei im aktuellen Verzeichnis oder die Umgebungsvariable "VIMINIT" gefunden wird, wird sie auf "nicht kompatibel" gesetzt. Dies hat den Nebeneffekt, dass andere Optionen eingestellt oder zurückgesetzt werden (siehe 'Kompatibel'). Es werden jedoch nur die Optionen geändert, die nicht festgelegt oder zurückgesetzt wurden.


* ist $VIMmöglicherweise nicht in Ihrer Shell festgelegt, wird jedoch immer in Vim festgelegt. Wenn Sie sehen möchten, worauf es eingestellt ist, starten Sie Vim und verwenden Sie den Befehl:echo $VIM

Laurence Gonsalves
quelle
28

Als zusätzliche Information, meistens unter macOS, befindet sich die .vimrc-Datei im Verzeichnis:

/usr/share/vim/.vimrc
hihell
quelle
25
Das ist das System vimrc. Es ist besser, $ HOME / .vimrc zu bearbeiten und zu erstellen, wenn es noch nicht vorhanden ist.
Laurence Gonsalves
1
Wenn die .vimrc-Datei nicht im Ausgangsverzeichnis erstellt wird, verweist vi auf die zu verwendende /usr/share/vim/.vimrcDatei.
Sandeep
Dasselbe in Ubuntu, wie ich gefunden habe.
ckjbgames
25
:echo($MYVIMRC)

gibt Ihnen den Speicherort Ihrer .vimrc-Datei.

:e $MYVIMRC

wird es öffnen.

Turm
quelle
1
Ich nehme Folgendes zurück: -bash: Syntaxfehler in der Nähe des unerwarteten Tokens '$ MYVIMRC'
Yannis Dran
@YannisDran - Ähm, was?
Turm
@Idigas Ich habe Folgendes eingegeben: echo (xxx) in meinem Befehlsfenster, aber jetzt wurde mir klar, dass Sie dies in den vim-Editor eingeben wollten. Obwohl: e xxx funktioniert, funktioniert das: echo (xxx) nicht. Es heißt E121 Undefinierte Variable: xxx E15: Ungültiger Ausdruck: ($ xxx)
Yannis Dran
@YannisDran - Um ganz klar zu sein, haben Sie diesen Fehler beim Eingeben von: echo ($ myvimrc) in die vim-Befehlszeile erhalten? Nicht: Echo (myvimrc) zufällig?
Turm
1
Ich benutze das $ und habe es im vi-Editor gemacht (Typing: aktiviert die Befehlszeile). Übrigens, jetzt antwortet vim nichts, es setzt nur den Indikator in die erste Zeile von vim. (Vim-Vi verbessert v.7.3 unter OSX)
Yannis Dran
15

Aus irgendeinem Grund haben diese Antworten für mich nicht ganz funktioniert. Das hat stattdessen bei mir funktioniert:

In Vim :versiongibt Ihnen der Befehl die Pfade der System- und Benutzerdateien vimrc und gvimrc (unter anderem), und die Ausgabe sieht ungefähr so ​​aus:

 system vimrc file: "$VIM/vimrc"
   user vimrc file: "$HOME/.vimrc"
    user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
  user gvimrc file: "$HOME/.gvimrc"

Der, den Sie wollen, ist user vimrc file: "$HOME/.vimrc"

So bearbeiten Sie die Datei: vim $HOME/.vimrc

Quelle: Öffnen Sie die vimrc-Datei

Aaron Alphonsus
quelle
2
Ich verstehe nicht, wie die vorhandenen Antworten für Sie nicht ganz funktionierten, obwohl die von Ihnen vorgeschlagene Lösung bereits von ihnen abgedeckt wird. Diese Antwort erwähnt $HOME/.vimrcund die Top-Antwort erwähnt, ~/.vimrcwas das gleiche ist wie $HOME/.vimrc.
DoubleDown
Stimme dir vollkommen zu. Was ich sagen wollte, ging verloren, als meine Antwort bearbeitet wurde
Aaron Alphonsus
11

Öffnen Sie Vim und geben Sie im normalen Modus Folgendes ein:

:echo $VIM
adem
quelle
unterschätzte Antwort
Fl.pf.
Für mich gibt es nur aus /usr/share/vim. Version 8.2.100, Arch Linux.
Jaroslaw Nikitenko
Hier erfahren Sie, in welchem ​​Verzeichnis sich Ihr System vimrc befindet, aber nicht, wohin Ihr Benutzer vimrc gehen soll oder wie sein Name lauten soll.
Laurence Gonsalves
Nun, die Frage "wo" ist die vimrc-Datei. Wohin sollte der Benutzer vimrc gehen? Legen Sie es in ~/.vimrcoder ~/.vim/vimrc, beachten Sie, dass letztere keinen Punkt davor haben.
adem
8

Unter Unix werden vim --versiondie verschiedenen Speicherorte der vim-Konfigurationsdateien angezeigt:

   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
qrtLs
quelle
Kann überprüfen, ob dies mit dem VIM funktioniert, das mit Git für Windows gebündelt ist. (Dies nur, weil so viel, dass eine SO-Antwort davon ausgehen könnte, dass es in Git Bash NICHT funktioniert.)
Janet
5

Hier noch ein paar Tipps:

  • In Arch Linux ist die globale /etc/vimrc. Es gibt dort einige Kommentare mit hilfreichen Details.

  • Da der Dateiname mit a beginnt ., ist er ausgeblendet, es sei denn, Sie ls -azeigen ALLE Dateien an.

  • Wenn Sie :versionin Vim tippen, werden Ihnen eine Reihe interessanter Informationen angezeigt, einschließlich des Speicherorts der Datei.

  • Wenn Sie sich nicht sicher sind, was das ~/.vimrcbedeutet, schauen Sie sich diese Frage an .

Ben
quelle
5

Ich möchte mitteilen, wie ich die Zeilennummer als Standard auf dem Mac angezeigt habe.

  1. Geben Sie in einem Terminal Folgendes ein cd. Auf diese Weise können Sie zum Basisordner wechseln.
  2. Geben Sie im Terminal Folgendes ein vi .vimrc. Dadurch wird eine leere vimrc-Systemdatei erstellt, die Sie verwenden möchten.
  3. In der Datei geben set number, und drücken Sie dann Escauf der Tastatur und geben :wq. Dadurch wird die in der Standardeinstellungsdatei angezeigte Zeilennummer festgelegt vimrcund gespeichert .
  4. vi somethingum zu sehen, ob dies funktioniert. Wenn nicht, versuchen Sie, das Terminal vollständig neu zu starten.

Wenn Sie sich in einem Terminal befinden, geben Sie ein cd /usr/share/vim/, gehen Sie zu diesem Ordner und geben Sie ein ls. Sie können eine Datei mit dem Namen vimrc direkt sehen. Aber es ist eine Systemdatei, die schreibgeschützt sagt. Ich denke, es ist keine gute Idee, es zu ändern. Befolgen Sie daher die obigen Schritte, um selbst ein vimrc zu erstellen. Es hat bei mir funktioniert.

Jinggang
quelle
Eine Sache, die ich für meine CentOS7-Installation ändern musste: Geben Sie nach Schritt 1 "cd username" ein.
HoldOffHunger
2

Ich habe alles in der vorherigen Antwort versucht und konnte keine .vimrcDatei finden, also musste ich eine erstellen.

Ich habe die Beispieldatei kopiert cp vimrc_example.vim ~/.vimrc.

Ich musste die Datei erstellen und von /usr/share/vim/vim74/vimrc_example.vimnach kopieren ~/.vimrc. Das waren die Anweisungen in der vimrc_exampleAkte.

Meine Lösung ist für Unix für andere Betriebssysteme. Gemäß der Vim-Dokumentation sollte Ihr Zielpfad wie folgt lauten:

    For Unix and OS/2   : ~/.vimrc
    For Amiga           : s:.vimrc
    For MS-DOS and Win32: $VIM\_vimrc
    For OpenVMS         : sys$login:.vimrc
deb2fast
quelle
1

Von cmd (Windows):

C\Users\You> `vim foo.txt`

Rufen Sie nun in Vim den Befehlsmodus auf, indem Sie Folgendes eingeben: " : " (dh Shift+ ;)

:tabedit $HOME/.vimrc
Jason
quelle
Dies setzt eine Tastatur mit einem US-Layout voraus.
Peter Mortensen
1

Die vimrc- Datei in Ubuntu ( 12.04 (Precise Pangolin) ) : Ich habe es :scriptnamesin Vim versucht und es zeigt sowohl /usr/share/vim/vimrcals auch ~/.vimrc.

Aber ich hatte manuell erstellt ~/.vimrc.

mythischer Kodierer
quelle