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?


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/

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


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.


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
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.