2011-12-08 24 views
14

Necesita ayuda. He estado editando un archivo de texto en vi, y pude guardar los cambios antes, pero ahora recibo el error anterior cada vez que escribo el comando para guardar el archivo. Por favor ayuda .No se puede crear el archivo de copia de seguridad (¡Agregar! Para sobrescribir)

+3

@closevoter (s): Vi y Vim son herramientas utilizadas para la programación y, por lo tanto, ** están en el tema **. – Johnsyweb

+1

@Johnsyweb: Así que es un teclado. Eso no significa "¿Por qué no funciona mi" e "ky?" en tema. –

+0

@ IgnacioVazquez-Abrams: Cierto, pero la mayoría de los usuarios de computadoras usan teclados. Los editores de texto modal tienen una base de usuarios más específica centrada en los programadores. – Johnsyweb

Respuesta

25

Puede, como vi (o, más probablemente, vim) está diciendo Fuerza la escritura haciendo:

:w! 

Alternativamente, escribir el archivo en una ubicación alternativa:

:w! /path/to/other/location 

Para compruebe dónde se escriben sus archivos de copia de seguridad (normalmente):

:se backup? backupdir? backupext? 

Probar a touch un archivo en ese directorio y vea si su sistema operativo le da un error para aclararle por qué su editor no puede escribir allí.

+3

En mi caso, la carpeta de copias de seguridad ('~/.vim/backups') no existía. Lo creé y el error desapareció. – Sheharyar

+2

+1 para señalar ': se backup? ¿backupdir? backupext? '! ---- En mi caso, el subdirectorio 'backup' (especificado por el valor de la opción' backupdir') faltaba junto con mis complementos de un directorio '~/.vim /' corrupto. – Cbhihe

+1

no sé cómo termina carpetas como ~/.vimundo, ~/.vimbackup son propiedad de root. Cambiar de nuevo el dueño a mí resuelve los problemas. 'sudo chown -R peng: peng ~/.vim *' –

2

vi desde dentro, probar:

:w! 

:help w! dicta la siguiente información:

             *:w!* 
:[range]w[rite]! [++opt] {file} 
         Write the specified lines to {file}. Overwrite an 
         existing file. 
4

tenía el mismo problema. Fue porque instalé vimconf como root. Necesita cambiar los derechos de los archivos en el directorio ~/.vim y cambiar el propietario a su usuario.

sudo chmod 0750 ~/.vim 
sudo chown user ~/.vim 
2

Tenía el mismo problema. Intenté todas las opciones como arriba pero no funcionó. Luego, cuando revisé mi espacio en el disco, estaba lleno. Una vez que despejé algo de espacio, pude volver a escribir en el archivo.
P.S: Esto fue en Linux.

0

Otra posibilidad es que coloque sus copias de seguridad en una ubicación centralizada (por ejemplo,/tmp) y editó un archivo determinado como raíz. Entonces, el archivo de copia de seguridad será propiedad de root y no podrá escribirlo como un simple mortal posterior.

En este caso, la sugerencia anterior para touch/tmp/atestfile no mostrará el problema. Tendrás permisos de escritura, no hay problema, pero no para el archivo de copia de seguridad particular que vim intenta escribir.

Elimine el archivo como root (sudo rm).

Tenga en cuenta que la razón w! funciona porque vim escribe el archivo sin escribir un archivo de copia de seguridad (insiste en que escriba a pesar del error).

1

Tuve este mismo problema. Resulta que se debió a quedarse sin espacio en el disco. intente crear un archivo utilizando Ex) touch test.txt. Si usted recibe un mensaje diciendo touch: cannot touch test.txt: No space left on device tendrá que liberar espacio en el disco

0

No sé cuál fue la causa, pero movido por backupdir.-~/.vim/backups en mi .vimrc y resuelto por mí :

set backupdir=~/.vim/backups 

me imagino algún tipo de herramienta era el uso de la carpeta del archivo estaba editando en (Visual Studio 2013, en mi caso), pero no estoy seguro.

Cuestiones relacionadas