¿"Intercambiar archivo xxx ya existe" al editar el archivo de configuración de apache en vim?


9

Al usar vim, recibo un mensaje que dice "Ya existe el archivo de intercambio xxx" cuando edito una configuración de Apache. Sin embargo, no lo veo en el directorio de trabajo en tmp. ¿Cómo elimino esto?

Respuestas:


16

Los archivos de intercambio de Vim normalmente están ocultos (los archivos ocultos de Unix comienzan con a .). Para ver los archivos ocultos y los archivos normales, debe ls -A(mnemónico: A para todos). Eso debería mostrarle si hay un archivo de intercambio o no.


5

Esto sucede solo cuando el archivo que intentaba editar no se guarda completamente en el disco. Los escenarios son:

  1. Apaga el sistema incorrectamente, cuando un archivo aún está abierto en vi / vim.

  2. cuando se accede a su archivo simultáneamente a través de diferentes / mismas consolas en vi.

vi / vim crea un archivo .swp cada vez que se abre un archivo en vi / vim. Cada vez que se abre un archivo en vi / vim, vi / vim busca este archivo y, si se encuentra, aparece esta advertencia.

Esto se puede evitar de dos maneras

  1. uno eliminando el archivo .swp que se denomina como

"ruta / de / el / archivo / you / were / edit / .your_file_name.swp"

  1. También puede optar por el modo de recuperación de vi / vim al abrir el archivo y presionar la opción de recuperación.

Solo estoy hablando del primer escenario y es seguro solo para ese escenario. El segundo escenario es el caso diferente.


Si hubo cambios no guardados, puede recuperarlos usando vi -r(o vim -rsi lo prefiere). Normalmente escribo el archivo recuperado en un archivo temporal y difflo comparo con el archivo principal. (No confío en la recuperación para no perder información.)
Keith Thompson

1

Si se llama al archivo que está editando, se llamará httpd.confal archivo de intercambio .httpd.conf.swp. Está oculto a menos que agregue -aa sus lsargumentos.

ls -a /etc/httpd/conf/


0

En el mensaje, debería ver la ruta completa al archivo. Puede ejecutarlo copiando y pegando la ruta de la siguiente manera:

rm -f /path/to/the/file
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.