¿"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?

dzm
fuente

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.

cuantícula
fuente
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.

kaji
fuente
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/
tylerl
fuente
1

Para eliminar el archivo de intercambio en Linux, use este comando

rm .filename.swp
amareswar reddy
fuente
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

fuente