Wie "beschaffe" ich etwas in meiner .vimrc-Datei?


98

Ich habe in letzter Zeit daran gearbeitet, mein vim-foo zu erweitern, und bin auf einige Plugins gestoßen ( z. B. autotag.vim ), für die sie in meiner .vimrc-Datei "bezogen" werden müssen. Was genau bedeutet das und wie mache ich das?

Antworten:


117

Die Beschaffung einer Datei führt sie aus. Im Wesentlichen wird jede Zeile der Datei als Befehl betrachtet. Die Beschaffung entspricht der Eingabe der einzelnen Befehle in der angegebenen Reihenfolge. Sie beziehen mit dem Befehl :source(normalerweise verkürzt auf :so).

Also, wenn Sie Quelle myStuff.vim

:so myStuff.vim

und wenn myStuff.vimdiese Zeilen enthalten

set xx iI just intersted this<C-]>
set yy bbbb4dw

Es ist das gleiche, als ob Sie diese Befehle in Vim eingegeben hätten

:set xx iI just intersted this<C-]>
:set yy bbbb4dw

Die einzige Datei, die standardmäßig verwendet wird, ist die .vimrc( _vimrcunter Windows), sodass Sie hier alle Befehle behalten können, die Sie zum Einrichten von Vim jedes Mal verwenden.

Interessant wird die Tatsache, dass Sie Dateien aus Ihren Quelldateien quellen können, da eine Sourcing-Datei nur aus einer Reihe von Befehlen besteht und Sourcing ein Befehl ist. So können Plugins, die Sie jedes Mal verwenden, beim Starten von Vim bezogen werden, indem Sie eine Zeile .vimrcwie diese hinzufügen

 so myPlugin.vim

2
Was macht so!das Ich habe es ausgeführt, weil ich dachte, es würde meine Ressourcen gewaltsam belasten, .vimrcund es begann, durch die Datei zu gehen, die ich gerade bearbeitete (meine .vimrc), und es wurde auf seltsame Weise Mist eingerückt, und es passierten alle möglichen seltsamen Dinge.
Alexej Magura

2
Es führt die Dateien im "normalen" Modus aus (dh was würde passieren, wenn Sie nicht das ":" vorne hinzufügen).
Andrew Miner

43

Dateien in Ihrem .vim / plugin-Verzeichnis werden automatisch bezogen (geladen).


7
Außerdem muss ihr Dateiname
fehlerhaft

Ja, aber nur einmal pro Startup, oder? Ist es, wenn Sie Terminal / Powershell starten oder wenn Sie den Befehl vim verwenden, um eine Datei zu bearbeiten?
3pitt

@ 3pitt AFAIK, es ist jedes Mal, wenn der vim-Befehl ausgeführt wird.
Thaddaeus Markle

12

Es gibt immer den Befehl : source file . Normalerweise schreibe ich, .vimrcdas benutzerdefinierte Befehle enthält und was nicht für die Konsolenanwendung und dann ein .gvimrc, das zusätzliche Extras enthält, die für eine Fensterversion geeignet sind. Ich .gvimrcbeginne damit source $HOME/.vimrc, alles aus der Konsolenversion zu übernehmen, bevor ich neue Inhalte hinzufüge.


Zumindest meine Versionen von vim sind die ganze Zeit über .vimrc. Sind Sie sicher, dass Sie .vimrc als Quelle benötigen?
Dav Clark

@DavClark: Es sieht so aus, als ob Sie damit Recht haben könnten. Ich mache das schon lange und habe nie zweimal darüber nachgedacht. Die Hilfedatei besagt definitiv, dass dies nicht notwendig ist ... hmmm.
D.Shawley

6

Normalerweise gibt es zwei vimrc-Dateien, eine ist _vimrc und die andere _gvimrc (in der ersten sind die Dinge für vim und in der zweiten für gvim - grafische Dinge) - obwohl die meisten Leute, die ich kenne, einfach alles in _vimrc einfügen.

Es empfiehlt sich, alle zusätzlichen Dateien (Plugins, Farbschemata, Snippets ...) in einem separaten (eigenen) Vimfiles-Verzeichnis aufzubewahren (das Sie mitnehmen können).

Wenn Sie tun

:help vimfiles

vim teilt mit, dass sich Ihr vimfiles-Verzeichnis befinden soll. Es hängt etwas von der Plattform ab (Win, Unix). Unter Windows befindet sich das Übliche in Ihrem Benutzerordner (Dokumente und Einstellungen, dann Benutzer ...). Im Verzeichnis vimfiles befinden sich einige Unterverzeichnisse. Darunter befindet sich das Unterverzeichnis "Plugin". In dieses Verzeichnis eingegebene Plugins werden automatisch geladen (auch Plugins, die in Unterverzeichnissen von "Plugin" abgelegt sind). Wenn Sie es nicht automatisch laden möchten, legen Sie es einfach in Ihren "vimfiles" oder einem anderen Verzeichnis ab und

:so plugin_name.vim (with the appropriate path)
(you can use the $vim, $vimfiles, and $home as shortcuts when defining path to plugin)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.