Wie kann ich vim dazu bringen, den Verlauf rückgängig zu machen?

36

Wenn ich zwei Dateien mit vim bearbeite, wird beim Wechseln in die andere Datei (: bnext,: bprev) der Rückgängig-Verlauf aus der geöffneten Datei entfernt, und die Meldung "Bereits bei der ältesten Änderung" wird angezeigt.

Beispielsweise:

  1. vim testfile1 testfile2
  2. füge ein paar Sachen zu testfile1 hinzu
  3. :w
  4. :bn
  5. :bp
  6. u
  7. eep! kann nicht rückgängig machen!

Gibt es eine Möglichkeit, diesen Verlauf für nicht sichtbare Puffer beizubehalten?

Jeremy Kerr
quelle
sollte dies stattdessen in Superuser oder Stackoverflow sein?
Ressu
@Ressu - guter Punkt, wie erzählen wir? Gepostete
Jeremy Kerr
Abhängig vom Ergebnis dieser Meta-Frage werde ich dies wahrscheinlich löschen.
Jeremy Kerr

Antworten:

42

Die neueste Version von vim (7.3) hat ein dauerhaftes Rückgängigmachen, sodass Sie eine Änderung vornehmen, vim vollständig schließen (sogar herunterfahren und neu starten), vim neu starten und rückgängig machen können. In Ihrem .vimrc:

" tell it to use an undo file
set undofile
" set a directory to store the undo history
set undodir=/home/yourname/.vimundo/
schäbig
quelle
11
Beachten Sie, dass Sie zuerst das Verzeichnis erstellen müssen. Dies wird von vim nicht automatisch durchgeführt. Rückgängig gemachte Dateien werden unter Verwendung des Dateisystempfads gespeichert (gleichzeitig mit dem Speichern der Datei). Wenn Sie sich in befinden /home/peter, wird beim Bearbeiten .bashrcdie Datei erstellt /home/peter/.vimundo/%home%peter%.bashrc.
Lekensteyn
19

So sieht es aus:

:set hidden

(in .vimrc)

Jeremy Kerr
quelle
1

Sie können Ansichtsfenster verwenden .
"vim -o testdatei1 testdatei2" - Dateien in geteiltem Fenster öffnen.
": sp filename" - teilen und öffnen Sie "filename".
": vsp filename" - vertikal teilen und "filename" öffnen.
"Strg + W + Pfeil" - Ansichtsfenster ändern.

yevhene
quelle
Ich möchte lieber nicht für jede Datei einen permanent sichtbaren Puffer behalten. Es ist nicht ungewöhnlich, dass> 20 Dateien gleichzeitig geöffnet sind.
Jeremy Kerr