2011-12-08 12 views
14

Hai bisogno di aiuto. Ho modificato un file di testo in vi, e sono stato in grado di salvare le modifiche prima, ma ora sto ricevendo l'errore sopra ogni volta che sto digitando il comando per salvare il file. Per favore aiuto .Impossibile creare il file di backup (aggiungere! Per sovrascrivere)

+3

@closevoter (s): Vi e Vim sono strumenti utilizzati per la programmazione e pertanto sono ** sull'argomento **. – Johnsyweb

+1

@Johnsyweb: Quindi è una tastiera. Ciò non rende "Perché non faccio il mio" e "ky lavoro?" in argomento. –

+0

@ IgnacioVazquez-Abrams: abbastanza vero, ma le tastiere sono utilizzate dalla maggior parte degli utenti di computer. Gli editor di testo modali hanno una base di utenti più specifica incentrata sui programmatori. – Johnsyweb

risposta

25

È possibile, come vi (o, più probabilmente, vim) sta dicendo vigore una scrittura facendo:

:w! 

In alternativa, scrivere il file in una posizione alternativa:

:w! /path/to/other/location 

Per controlla dove vengono scritti i tuoi file di backup (normalmente):

:se backup? backupdir? backupext? 

Prova a touch un file in quella directory e vedere se il tuo sistema operativo ti dà un errore per illuminarti sul motivo per cui il tuo editor non può scrivere lì.

+3

Nel mio caso la cartella dei backup ('~/.vim/backups') non esisteva. L'ho creato e l'errore è andato via. – Sheharyar

+2

+1 per indicare ': se backup? backupdir? backupext? '! ---- Nel mio caso la sottodirectory 'backup' (come specificato dal valore dell'opzione' backupdir') mancava insieme ai miei plugin da una directory '~/.vim /' danneggiata. – Cbhihe

+1

non sapeva come finire cartelle come ~/.vimundo, ~/.vimbackup sono di proprietà di root. Cambiare il proprietario di nuovo a me risolve i problemi. 'sudo chown -R peng: peng ~/.vim *' –

2

dall'interno VI, provare:

:w! 

:help w! ha pronunciato la seguente informazione:

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

avuto lo stesso problema. Era perché ho installato vimconf come root. Devi cambiare i diritti dei file nella directory ~ /. Vim e cambiare il proprietario nel tuo utente.

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

Aveva lo stesso problema. Ho provato tutte le opzioni come sopra ma non ha funzionato. Poi, quando ho controllato il mio spazio su disco, era pieno. Una volta liberato spazio, sono stato in grado di riscrivere nuovamente il file.
P.S: Questo era in linux.

0

Un'altra possibilità consiste nel mettere i backup in una posizione centralizzata (ad esempio/tmp) e aver modificato un file particolare come root. Quindi, il file di backup sarà di proprietà di root e non scrivibile da te come un semplice mortale in seguito.

In questo caso, il suggerimento sopra per toccare/tmp/atestfile non mostrerà il problema! Avrai permessi di scrittura, nessun problema, ma non al particolare file di backup che vim sta cercando di scrivere.

Rimuovere il file come root (sudo rm).

Si noti che il motivo w! funziona perché vim scrive il file senza scrivere un file di backup (si insiste perché scriva nonostante l'errore).

1

Ho avuto lo stesso problema. Si scopre che era a corto di spazio sul disco. prova a creare un file usando Ex) touch test.txt. Se si ottiene un messaggio che dice touch: cannot touch test.txt: No space left on device è necessario liberare spazio sul disco

0

Non so quale sia la causa era, ma mi sono trasferito da backupdir.-~/.vim/backups nel mio Vimrc e risolto per me :

set backupdir=~/.vim/backups 

mi piacerebbe immaginare una sorta di strumento era utilizzando la cartella il file stavo montando in (Visual Studio 2013, nel mio caso), ma non sono sicuro.

Problemi correlati