Ich möchte meine Vim- und Emacs-Konfigurationen unter Versionskontrolle behalten, aber ich möchte nicht meinen gesamten Home-Ordner dort haben (oder besser gesagt, ich sollte es tun, aber es sollte drei separate Repositories geben). Mit Emacs ist es einfach; Wenn ~/.emacs
nicht existiert, wird ~/.emacs.d/init.el
als Init-Datei verwendet. Also kann ich ein separates Git Repo in ~/.emacs.d/
haben. Mit Vim scheint .vimrc
nur im Home-Ordner und nicht in ~/vimfiles
vorhanden zu sein (das entspricht ~/.emacs.d
). Ist dies der beste Weg, um .vimrc
unter Versionskontrolle zu setzen?
Vielleicht können Sie Ihre .vimrc
nach ~/.vim/
verschieben und eine Verknüpfung zu Home erstellen?
Ein anderer, viel modularerer Ansatz besteht darin, Ihr Startskript nach ~/.vim/plugins/
zu verschieben, vielleicht dort ein Unterverzeichnis und einzelne oder mehrere Initskripte zu erstellen: Vim wird beim Start ein :runtime! plugin/**/*.vim
machen.
Wie @Progo in ihrer Antwort vorschlägt, können ~/.vimrc
-Einstellungen in ein "plugin" -Skript innerhalb einer Datei wie ~/.vim/plugin/00rc.vim
verschoben werden.
Es gibt ein paar Dinge zu beachten, wenn Sie diesen Weg gehen:
Benutzer und Plugins erwarten gleichermaßen, dass die Einstellungen in ~/.vimrc
geladen wurden, bevor die Plugins wie in :help startup
beschrieben sind. ~/.vim
ist normalerweise zuerst in 'Laufzeitpfad', aber wenn der Benutzer andere Plugins in ~/.vim/plugin
hat, muss die .vimrc
Ersetzung lexikografisch sein, um sicherzustellen, dass sie zuerst geladen wird, vielleicht ~/.vim/plugin/00rc.vim
.
Wenn der vim-Startprozess von Schritt 3 'Execute ex commands' (wo .vimrc
gelesen worden wäre; siehe auch :help startup
) zu Schritt 4 'Load the plugin scripts' führt, wird :runtime! plugin/**/*.vim
ausgeführt. Dieser Befehl durchsucht den 'Laufzeitpfad' nach passenden Dateien zur Quelle und beginnt dann, sie zu beschaffen. Dies bedeutet, dass wenn etwas in ~/.vim/plugin/00rc.vim
den 'Laufzeitpfad' ändert, es zu spät ist zu beeinflussen, welche Plugins ausgeführt werden. Dies tritt am häufigsten bei Krankheitserregern auf und in diesem Fall kann man umgehen, indem man am Ende von% co_de die folgenden Zeilen hinzufügt %:
Schließlich, (wie auch in ~/.vim/plugin/00rc.vim
), wird vim, wenn keine :help startup
Datei vorhanden ist, nach anderen Dateien wie ~/.vimrc
suchen, so dass es notwendig sein kann, sie zu entfernen, wenn ihr Inhalt unerwünscht ist.
Fügt dem Prozess einen Schritt hinzu, aber ich habe nur ein Bash-Skript deploy.sh in meinen vim-Einstellungen.
%Vor%Sie können ein Backup einfach in der Versionskontrolle aufbewahren und es bei Bedarf in Ihr Home-Verzeichnis verschieben (d. h. verschieben). Du könntest ein einfaches Skript schreiben, um all diese Handhabung zu managen, also wird es zumindest auf den ersten Blick nicht sehr mühsam sein, es hin und her zu bewegen.
Tags und Links vim version-control dotfiles