2010-04-28 16 views
59

Si estoy trabajando en un archivo, cambio a otro búfer y luego vuelvo a cambiar, he perdido mi historial de deshacer.VIM pierde el historial de deshacer al cambiar los búferes

  1. Archivo1.txt - hacer un montón de cambios & guardar.
  2. nuevo buffer abierto -: e test.txt
  3. interruptor de nuevo a File1.txt -: b #
  4. historia
  5. Deshacer se ha ido.

¿Hay algún problema para esto?

+0

Esto me ha sorprendido más de una vez. Sospecho que estás preguntando porque ': sp test.txt' o': tabe test.txt' no funcionarán para ti? –

+0

Sí. No uso pestañas porque me resulta más fácil administrar una sola división vertical. Si es necesario, haré más splits, pero el problema principal es que estoy constantemente cambiando los buffers y eventualmente quiero volver a un buffer anterior y deshacer algo. Si sé que voy a editar mucho un archivo y es posible que deba deshacerlo, entonces trato de no cambiar el búfer en esa ventana, pero a veces lo olvido. – Brian

Respuesta

73

Puede :set hidden. Esto significa que el búfer del archivo anterior solo se ocultará cuando cambie al nuevo archivo. Cuando vuelves, todavía tienes tu historial de deshacer.

+5

el vim me encanta de lo contrario, apesta aquí un poco :(La opción ": oculto" debe estar activada por defecto. –

46

También puede agregar deshacer persistente, esto tendrá su tienda de vim deshacer incluso a través de reinicio:

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

set undolevels=1000 
set undoreload=10000 

Edición - a través de @sanbor:

No se olvide de hacer mkdir ~/.vim/undo, de lo contrario, vim no lo hará por usted.

+0

Gente, por favor dime por qué esto no es mejor? –

+0

Es mejor, solo tenía 4 años más tarde que el otro :) –

+0

Deje que el tiempo lo resuelva, entonces. ; p –

Cuestiones relacionadas