Vim verliert den Rückgängigmachungsverlauf, wenn Puffer gewechselt werden


70

Wenn ich in einer Datei arbeite, in einen anderen Puffer wechsle und dann zurück wechsle, habe ich meinen Rückgängig-Verlauf verloren.

  1. vim File1.txt - Nehmen Sie eine Reihe von Änderungen vor und speichern Sie.
  2. Neuen Puffer öffnen - :e test.txt
  3. Zurück zu File1.txt wechseln - :b#
  4. Die Geschichte rückgängig machen ist weg.

Irgendwelche Problemumgehungen dafür?


Das hat mich mehr als einmal überrascht. Ich vermute, Sie fragen, weil :sp test.txtoder :tabe test.txtnicht für Sie arbeiten?
Dash-Tom-Bang

Ja. Ich verwende keine Registerkarten, da ich finde, dass es am einfachsten ist, nur eine vertikale Aufteilung zu haben. Wenn nötig, mache ich mehr Splits, aber das Hauptproblem ist, dass ich ständig die Puffer wechsle und schließlich zu einem vorherigen Puffer zurückkehren und etwas rückgängig machen möchte. Wenn ich weiß, dass ich eine Datei häufig bearbeiten werde und möglicherweise rückgängig gemacht werden muss, versuche ich, den Puffer in diesem Fenster nicht zu wechseln - aber manchmal vergesse ich es.
Brian

Antworten:


81

Du könntest :set hidden. Dies bedeutet, dass der Puffer der alten Datei nur ausgeblendet wird, wenn Sie zur neuen Datei wechseln. Wenn Sie zurückschalten, haben Sie immer noch Ihren Rückgängig-Verlauf.


5
das vim, das ich sonst liebe, saugt hier ein wenig :( Die Option ": set hidden" sollte standardmäßig aktiviert sein.
Tem Pora

67

Sie können auch dauerhaftes Rückgängigmachen hinzufügen. Dadurch speichert vim Ihr Rückgängigmachen auch beim Neustart:

" Persistent undo
set undofile
set undodir=$HOME/.vim/undo

set undolevels=1000
set undoreload=10000

Bearbeiten - über @sanbor:

Vergiss nicht, es zu tun mkdir ~/.vim/undo, sonst macht es vim nicht für dich.


2
Vergiss nicht mkdir ~/.vim/undo, sonst macht vim es nicht für dich. Quelle: stackoverflow.com/questions/5700389/using-vims-persistent-undo
sanbor

1
@Patrick Weil es nicht besser ist. Ich mache oft spontane Änderungen in einer Datei und speichere aus Gewohnheit, nur um bald unbewiesenen Müll mit einer Undo-Serie zu löschen. Das Ausgraben von Undos vor dem Öffnen der Datei (~ letzter stabiler Zustand) wäre schrecklich!
blutiger
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.