Die einfachste Version ist: Erstelle ein ~/.vim/undo-dir/
Verzeichnis und füge Folgendes hinzu .vimrc
:
set undodir=~/.vim/undo-dir
set undofile
Es ist jedoch nicht einwandfrei und es ist besser, weiterzulesen. Von mir selbst .vimrc
:
" Let's save undo info!
if !isdirectory($HOME."/.vim")
call mkdir($HOME."/.vim", "", 0770)
endif
if !isdirectory($HOME."/.vim/undo-dir")
call mkdir($HOME."/.vim/undo-dir", "", 0700)
endif
set undodir=~/.vim/undo-dir
set undofile
Ich bevorzuge es, zufällige Verzeichnisse nicht mit Undo-Dateien zu überladen. Also habe ich die undodir
Option gesetzt, die alle in einem Undo-Verzeichnis ablegt. Das führt zu einem Problem: Ich bin faul und möchte dieses Verzeichnis nicht auf allen meinen Computern erstellen (ich verwende ein Versionskontrollsystem, um meine .vimrc
Daten auf mehreren Computern zu synchronisieren ). Zum Glück ist es einfach genug, die Verzeichnisse von Vim überprüfen zu lassen und zu erstellen, wenn sie nicht existieren.
Beachten Sie auch den 0700
Modus im Rückgängig-Verzeichnis (das sind die vollständigen Berechtigungen für den Eigentümer, keine Berechtigungen für andere Personen). Welche Dateien ich wann bearbeitet habe, etc. sollen privat bleiben. Und da dies ein Verzeichnis ist, auf das nur ich zugreifen kann, muss ich mir keine Sorgen machen, dass jemand anderes einen Symlink oder eine eigene Datei zum Rückgängigmachen einfügt, oder was auch immer, wenn Sie sich Gedanken über die Verwendung eines temporären Systemverzeichnisses machen müssen.
Da es sich nicht um ein temporäres Systemverzeichnis handelt, unterliegt es nicht der Richtlinie zur Bereinigung von Systemdateien. Oft ist das ziemlich kurz - ungefähr eine Woche. Damit es nicht für immer wächst, habe ich Folgendes in meine Liste aufgenommen crontab
:
# m h dom mon dow command
43 00 * * 3 find /home/anthony/.vim/undo-dir -type f -mtime +90 -delete
Nach 90 Tagen ohne Änderung werden sie gelöscht. (Ehrlich gesagt sind sie nicht wirklich so groß, Sie könnten sie leicht für immer damit belassen, wie billig die Festplatte ist. Beachten Sie jedoch auch Ihre Privatsphäre, wenn Ihr Computer jemals kompromittiert wird.)