2010-04-28 12 views
59

Wenn ich in einer Datei arbeite, zu einem anderen Puffer wechseln und dann zurück ändern, habe ich meine Rückgängig-Geschichte verloren.VIM verliert Rückgängig-Verlauf beim Ändern der Puffer

  1. Datei1.txt - machen Sie eine Reihe von Änderungen & speichern.
  2. öffnen neue Puffer -: e test.txt
  3. Wechseln Sie wieder zu File1.txt -: b #
  4. Undo Geschichte ist verschwunden.

Irgendwelche Arbeiten um dieses?

+0

Das hat mich mehr als einmal überrascht. Ich vermute, du fragst, weil ': sp test.txt' oder': tabe test.txt' nicht für dich funktioniert? –

+0

Ja. Ich benutze keine Tabs, weil ich finde, dass es einfach ist, nur einen vertikalen Split zu haben. Wenn es sein muss, werde ich mehr Splits machen, aber das Hauptproblem ist, dass ich ständig zwischen Puffern umschalte und schließlich zu einem vorherigen Puffer zurückkehren und etwas rückgängig machen möchte. Wenn ich weiß, dass ich eine Datei sehr oft bearbeiten werde und möglicherweise rückgängig machen muss, dann versuche ich, den Puffer in diesem Fenster nicht zu wechseln - aber manchmal vergesse ich. – Brian

Antwort

73

Sie könnten :set hidden. Dies bedeutet, dass der Puffer der alten Datei nur dann ausgeblendet wird, wenn Sie zu der neuen Datei wechseln. Wenn Sie zurückwechseln, haben Sie immer noch Ihre Undo-Historie.

+5

der vim, den ich sonst liebe, saugt hier ein bisschen :(Die ": set hidden" -Option sollte standardmäßig aktiviert sein. –

46

Sie können auch hartnäckige Undo hinzufügen, wird dies vim Store Ihre undo sogar durch Neustart haben:

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

set undolevels=1000 
set undoreload=10000 

bearbeiten - über @sanbor:

Vergessen Sie nicht zu tun mkdir ~/.vim/undo, sonst wird vim es nicht für dich tun.

+0

Leute, bitte sag mir, warum das nicht besser ist? –

+0

Es ist besser, ich war nur 4 Jahre später als die andere :) –

+0

Lass die Zeit es dann lösen. ; p –