Hot exit es una de las características más importantes del editor Sublime Text. Permite cerrar el editor en cualquier momento sin preocuparse por las modificaciones en los archivos abiertos; simplemente se cierra sin ninguna pregunta. Cuando inicie ST nuevamente, todos los archivos abiertos y editados estarán en el mismo estado que tenían antes de cerrar
Me pregunto ¿hay alguna manera de hacer lo mismo en vim?
Respuestas:
Vim puede hacer esto, aunque puede ser un poco torpe y tomar algo de configuración.
romainl te lleva a la mitad
session
. Los bits que faltan son archivos de intercambio:preserve
, y la&
bandera decpoptions
.Los archivos de intercambio están destinados a la recuperación si Vim o su sistema se bloquean. Le permiten recuperar cualquier cambio no guardado (con algunas limitaciones, consulte
:he swap-file
). Sin embargo, cuando Vim sale normalmente, elimina todos los archivos de intercambio que estaba utilizando, incluso si el búfer tenía cambios sin guardar.Ahí es donde
:preserve
ycpoptions
's&
vienen en.:preserve
Fuerzas Vim para escribir todos los tampones a sus archivos de intercambio de inmediato (en comparación con el estándar después de 4 segundos o 200 caracteres, o lo que sus opciones se han fijado a). Hacer:set cpoptions+=&
le dice a Vim que no elimine los archivos de intercambio guardados:preserve
al salir normalmente.Desafortunadamente, Vim no limpia automáticamente los archivos de intercambio cuando se recupera de ellos, por lo que pronto puede terminar con un directorio como este:
Puede eliminar los más antiguos manualmente, pero Vim solo ofrecerá automáticamente la recuperación si hay un
*.swp
archivo donde colocaría su nuevo archivo de intercambio. El:recover
comando obligará a Vim a buscar archivos de intercambio para recuperarse.Al usar los comandos automáticos, puede automatizar la conservación (probablemente con el
QuitPre
evento) y la recuperación (probablemente conBufRead
oBufReadPost
). Recover.vim es un complemento que podría funcionar como una alternativa más amigable para administrar la recuperación. Parece que también maneja la limpieza de archivos de intercambio. No estoy seguro de cómo manejaría un directorio con.swo
pero sin.swp
archivo. Es posible que aún necesite usar:recover
para ese caso.vim-obsession es otro complemento que pretende facilitar el manejo de las sesiones.
fuente
Si. Se llama "sesión" y puedes leer todo sobre esto en:
fuente