it-swarm.it

Come posso ottenere VIM per conservare la cronologia degli annullamenti?

Se sto modificando due file con vim, passare all'altro file (: bnext,: bprev) sembra eliminare la cronologia degli annullamenti dal file aperto - premendo il tasto 'u' viene riportato "Già alla modifica più vecchia".

Per esempio:

  1. vim testfile1 testfile2
  2. aggiungi alcune cose a testfile1
  3. :w
  4. :bn
  5. :bp
  6. u
  7. eEP! impossibile annullare!

Esiste un modo per conservare questa cronologia per i buffer non visibili?

35
Jeremy Kerr

Sembra che questo lo farà:

:set hidden

(in .vimrc)

18
Jeremy Kerr

La versione più recente di vim (7.3) ha un annullamento persistente, in modo da poter apportare una modifica, chiudere completamente vim (anche arrestare e riavviare), riavviare vim e annullare. Nel tuo .vimrc:

" tell it to use an undo file
set undofile
" set a directory to store the undo history
set undodir=/home/yourname/.vimundo/
41
frabjous

Puoi usare Viewports .
"vim -o testfile1 testfile2" - apre i file in una finestra divisa.
": sp nomefile" - dividi e apri "nomefile".
": vsp nomefile" - divisione verticale e apertura "nomefile".
"Ctrl + w + freccia" - Cambia viewport.

1
yevhene