¿Dónde guarda VIM (gvim / macvim) archivos de intercambio para buffers sin guardar / sin nombre? (Si es así).
Antecedentes: a lo largo de un seminario semi intenso, tomé notas en un búfer MacVim sin nombre / sin guardar cuando el MacBook se quedó sin energía y se apagó de la nada (no dormía / hibernaba como solía hacerlo).
Pregunta: ¿Alguien sabría si existe alguna posibilidad de que el trabajo no guardado se haya guardado en un archivo de intercambio (.swp) o similar, que podría recuperarse?
Detalles del sistema: en particular, esto sucedió usando MacVim en un Mac OS X 10.5.8 (pero las posibles sugerencias de recuperación para otras versiones también son interesantes). Todavía no he reiniciado MacVim en caso de que hacerlo inicie un proceso de limpieza.
Respuestas:
Inicie vim e intente:
:recover <filename>
Si el archivo nunca tuvo un nombre, simplemente:
:recover
Esa es tu mejor apuesta. Para obtener más información sobre los archivos de intercambio y la recuperación, consulte:
:help usr_11
Acerca de los archivos de intercambio, generalmente se guardan en el mismo directorio que el archivo que se está editando, pero con un. agregó el principio para ocultarlo y .swp al final, pero es posible moverlos a otra parte mediante algo como:
:set directory=~/vimswap
o similar.
Ver:
:help swap
Para todos los detalles.
Sin embargo, un archivo de intercambio vim no es lo mismo que el búfer editado, así que asegúrese de leer lo que se puede hacer para la recuperación.
EDITAR : comentarios respondiendo la pregunta:
[…] Parece buscar archivos de intercambio en su directorio de trabajo actual, ~ / tmp, / var / tmp y / tmp, y en mi caso siempre tengo un directorio de trabajo actual establecido y ahí es donde se guarda. - dsclementsen 5 de octubre de 10 a 1:42
Además, asegúrese de revisar la línea de comando vim -r arg. Esto imprimirá todos los archivos de intercambio encontrados y dónde están. Además, tendrá mucha información adicional, como fecha / modificado / nombre de usuario / etc ... - Neg_EV 5 de octubre de 10 a 13:49
fuente
:recover
sin nombre de archivo. Acabo de probar eso para recuperar un archivo sin nombre y funcionó. De todos modos, incluso si ese comando en particular no ayuda, puede leer esos archivos de ayuda.recover
sin argumento, me permitió elegir incluso entre algunas sesiones anteriores. De todos modos, el archivo .swp para un búfer no conectado probablemente esté en / tmp, pero estaría en otro lugar dependiendo de si lo teníaset directory= <something>
.:recover!
para recuperar mi archivo guardado.Trabajo en Windows 10 y
:recover
no encontré un archivo de intercambio.vim -r
enumeró el archivo de intercambio de la última sesión de edición (también nunca guardada) llamado _.swp. La recuperación fue posible con:recover _
.fuente
La respuesta es: por todas partes. El truco es encontrar el correcto. Algunos están en su directorio / tmp, pero muchos de ellos están en algún lugar debajo de su directorio de inicio.
Quizás haya formas más eficientes de hacer esto, pero lo siguiente funcionó para mí cuando perdí un archivo sin nombre (en MacBook):
en el directorio de inicio, busque archivos de respaldo (toma unos segundos, y probablemente pueda ser más inteligente):
abrir documento:
eliminar nombres de archivos que no son para copias de seguridad de archivos sin nombre:
Ahora veo una lista de las ubicaciones de los archivos de copia de seguridad sin nombre. En cada uno de esos directorios ejecuto lo siguiente hasta que encuentro los archivos de hoy:
Cd en el directorio correcto y abro vim y escribo: recupere y seleccione la copia de seguridad correcta.
fuente
Parece que terminarán en su directorio de trabajo.
:pwd
Aquí es donde abrió vim o, alternativamente, podría haberlo configurado usando:cd
o similar.Parece que los archivos de intercambio de búferes sin nombre se descargan allí sin nombre de archivo, por lo que terminará con .swp .swn .swo, etc. diferentes sufijos!
Supuse que tener muchos buffers sin nombre con cambios podría haber sido la causa y eliminar estos buffers hizo que desaparecieran los archivos misteriosos
fuente