die oben gepostet akzeptierte Lösung ist gut und löst Ihre Verwendung Fall jedoch würde Ich mag somet erreicht wird eine alternative Möglichkeit von darauf hinzuweisen, ähnlich ohne viel Aufwand oder Konfiguration.
VIM hat eingebaute Unterstützung für Rekord-Sitzungen, :h :mksession
, was, dass Sie die aktuelle vim Sitzung (offene Dateien, Splits, Tabs, Fenster, usw., je nach dem Wert von :h 'sessionoptions'
zu tun erlaubt ist zu speichern. Obwohl Sitzungen Aufzeichnung und Pflege kann etwas langweilig sein, was ich vorschlagen würde, ist entweder xolox/vim-session
(ich habe es zuvor verwendet) oder tpope/vim-obsession
(jetzt verwenden). Das wird Ihnen ermöglichen, eine Sitzung genau so wieder zu öffnen, wie Sie aufgehört!
Hier
ist, was ich tue, ich habe diesen Schnipsel in meiner ~/.zshrc:
function vim() {
tmux rename-window "vim - ${PWD##*/}"
if test $# -gt 0; then
env vim --servername ${PWD##*/} "[email protected]"
elif test -f ~/.vim/sessions/${PWD##*/}.vim; then
env vim --servername ${PWD##*/} -S ~/.vim/sessions/${PWD##*/}.vim
else
env vim --servername ${PWD##*/} -c Obsession\ ~/.vim/sessions/${PWD##*/}.vim
fi
}
Überprüfen Sie, ob vim ohne Argumente gestartet wird und ob eine Sitzung bereits existiert & lädt es, oder tpope/vim-obsession
beginnt mit der Aufzeichnung einer neuen Sitzung, die beim nächsten Öffnen von vim geladen wird. Der Sitzungsname ist nur der Name des Verzeichnisses, in dem Sie vim starten. Wenn Sie vim Argumente übergeben, verhält es sich jedoch wie erwartet und macht sich keine Sorgen um Sitzungen.
Auf diese Weise kann ich jetzt einfach starten vim in einem beliebigen Verzeichnis und das erste Mal, wenn ich dies tun, beginnt es eine neue Sitzung zu erfassen, während bei nachfolgenden Aufrufen wird diese Sitzung geladen und tpope/vim-obsession
hält es aktualisiert.
Danke. Ist es möglich, die Dateiliste zu übergeben, um sie mit diesem Layout zu öffnen? – Loom
Ja, siehe meine Bearbeitung. –