2010-04-28 11 views
59

Se sto lavorando in un file, si passa a un altro buffer e quindi si modifica, ho perso la cronologia degli annullamenti.VIM perde la cronologia degli annullamenti quando si cambiano i buffer

  1. File1.txt - apportare alcune modifiche & salvare.
  2. Aperto nuovo buffer -: e test.txt
  3. Tornate al File1.txt -: b #
  4. storia
  5. Undo è andato.

Qualsiasi lavoro intorno a questo?

+0

Questo mi ha colto di sorpresa più di una volta. Sospetto che tu stia chiedendo perché ': sp test.txt' o': tabe test.txt' non funzionerà per te? –

+0

Sì. Non uso le schede perché trovo che avere una sola divisione verticale sia più facile da gestire. Se necessario, farò più split, ma il problema principale è che cambio continuamente i buffer e alla fine voglio tornare a un buffer precedente e annullare qualcosa. Se so che modificherò molto un file e potrei aver bisogno di annullare, allora cerco di non commutare il buffer su quella finestra, ma a volte lo dimentico. – Brian

risposta

73

È possibile :set hidden. Ciò significa che il buffer del vecchio file verrà nascosto solo quando si passa al nuovo file. Quando torni indietro, hai ancora la cronologia degli annullamenti.

+5

il vim che amo altrimenti, fa schifo un po ':(L'opzione ": set hidden" dovrebbe essere ON di default –

46

È inoltre possibile aggiungere undo persistente, questo avrà negozio vim vostro annullamento anche attraverso il riavvio:

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

set undolevels=1000 
set undoreload=10000 

Modifica - via @sanbor:

Non dimenticare di fare mkdir ~/.vim/undo, altrimenti vim non lo farà per te.

+0

People, per favore dimmi perché non è meglio? –

+0

È meglio, avevo solo 4 anni dopo l'altro :) –

+0

Lascia che sia il momento di risolverlo, allora. ; p –

Problemi correlati