2011-12-08 53 views
14

需要幫助。我一直在編輯一個文本文件在vi中,我能夠保存更改之前,但現在我得到上述錯誤,每當我輸入命令來保存該文件。請幫忙 。無法創建備份文件(添加!覆蓋)

+3

@closevoter(s):Vi和Vim是用於編程的工具,因此**是主題**。 – Johnsyweb

+1

@Johnsyweb:這是一個鍵盤。那並不表示「爲什麼我的電子工作沒有?」在話題。 –

+0

@ IgnacioVazquez-Abrams:確實如此,但大多數電腦用戶都使用鍵盤。模態文本編輯器有一個以程序員爲中心的更具體的用戶羣。 – Johnsyweb

回答

25

您可以爲vi(或者,更可能的是,vim)被做了寫說力:

:w! 

或者,文件寫入到其他位置:

:w! /path/to/other/location 

要檢查備份文件的寫入位置(通常):

:se backup? backupdir? backupext? 

試試到touch該目錄中的一個文件,並查看您的操作系統是否給您一個錯誤,以指導您爲什麼編輯器不能在那裏寫入。

+3

在我的情況下,備份文件夾('〜/ .vim/backups')不存在。我創建了它,錯誤消失了。 – Sheharyar

+2

+1指出':備份? BACKUPDIR? backupext?'! ----在我的情況下,子目錄'backup'(由'backupdir'選項值指定)與我的插件一起從損壞的〜/ .vim /'目錄中丟失。 – Cbhihe

+1

did not知道它是如何結束〜/ .vimundo文件夾,〜/ .vimbackup由root擁有。將所有者改回給我解決問題。 'sudo chown -R彭:peng〜/ .vim *' –

2

從VI中,嘗試:

:w! 

:help w!提供了以下信息:

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

有同樣的問題。這是因爲我以root身份安裝了vimconf。您需要更改〜/ .vim目錄中的文件權限並將所有者更改爲您的用戶。

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

有同樣的問題。嘗試了上述所有選項,但沒有奏效。然後,當我檢查我的磁盤空間時,它已滿。一旦我清除了一些空間,我就可以再次寫回文件。
P.S:這是在linux中。

0

另一種可能性是,您將備份置於一個集中位置(例如/ tmp),並且以root身份編輯了特定文件。然後,備份文件將由root擁有,之後您將不可再寫入。

在這種情況下,上面觸摸/ tmp/atestfile的建議不會顯示問題!您將擁有寫入權限,沒有問題,但不會寫入vim正在嘗試寫入的特定備份文件。

以root身份(sudo rm)刪除文件。

請注意,原因!工程是因爲vim寫入文件而沒有寫入備份文件(儘管出現錯誤,您仍堅持寫入文件)。

1

我有這個相同的問題。原來是因爲磁盤空間不足。嘗試使用Ex)touch test.txt創建一個文件。如果你得到一個消息,說touch: cannot touch test.txt: No space left on device你將需要清理空間,在硬盤上

0

我不知道原因是什麼,但我在我的.vimrc移動通過backupdir.~/.vim/backups,它解決了這個問題對我來說:

set backupdir=~/.vim/backups 

我想像某種工具的使用我編輯它(的Visual Studio 2013年,在我的情況),該文件的文件夾,但我不知道。