it-swarm.dev

¿Cómo obtengo vim para mantener su historial de deshacer?

Si estoy editando dos archivos con vim, cambiar al otro archivo (: bnext,: bprev) parece eliminar el historial de deshacer del archivo abierto, presionando la tecla 'u' informa "Ya está en el cambio más antiguo".

Por ejemplo:

  1. vim testfile1 testfile2
  2. agregar algunas cosas a testfile1
  3. :w
  4. :bn
  5. :bp
  6. u
  7. eep! no se puede deshacer!

¿Hay alguna manera de mantener este historial para buffers no visibles?

35
Jeremy Kerr

Parece que esto lo hará:

:set hidden

(en .vimrc)

18
Jeremy Kerr

La versión más reciente de vim (7.3) tiene deshacer persistente, por lo que puede hacer un cambio, cerrar vim por completo (incluso apagar y reiniciar), reiniciar vim y deshacer. En tu .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

Puede usar Viewports .
"vim -o testfile1 testfile2" - abre archivos en una ventana dividida.
": sp filename" - divide y abre "filename".
": nombre de archivo vsp" - división vertical y abrir "nombre de archivo".
"Ctrl + w + flecha" - Cambiar ventana gráfica.

1
yevhene