助けが必要。テキストファイルをviで編集していて、以前に変更を保存できましたが、ファイルを保存するコマンドを入力するたびに上記のエラーが発生します。助けてください 。
vi
(または、より可能性が高いのは、vim
)が書き込みを強制的に実行していることを示しているため、次のことを実行できます。
:w!
または、ファイルを別の場所に書き込みます。
:w! /path/to/other/location
バックアップファイルが書き込まれている場所を確認するには(通常):
:se backup? backupdir? backupext?
そのディレクトリのファイルをtouch
してみて、オペレーティングシステムがエラーを表示して、エディターがそこに書き込めない理由を教えてくれるかどうかを確認してください。
同じ問題があった。 rootとしてvimconfをインストールしたからです。 〜/ .vimディレクトリ内のファイルの権限を変更し、所有者をユーザーに変更する必要があります。
Sudo chmod 0750 ~/.vim
Sudo chown user ~/.vim
私も同じ問題を抱えていました。ディスク領域が不足したことが原因であることが判明しました。 Ex)touch test.txt
を使用してファイルを作成してみてください。 「touch: cannot touch test.txt: No space left on device
」というメッセージが表示された場合は、ディスクの空き容量を増やす必要があります
私はこれを修正しました:
Sudo chown user ~/.cache/vim/* -R
ここで、「user」はユーザー名です。
同じ問題があった。上記のようにすべてのオプションを試しましたが、機能しませんでした。その後、ディスク容量を確認したところ、いっぱいになりました。スペースを空けたら、再びファイルに書き戻すことができました。
PS:これはLinuxにありました。
vi内から、以下を試してください。
:w!
:help w!
は次の情報を提供します。
*:w!* :[range]w[rite]! [++opt] {file} Write the specified lines to {file}. Overwrite an existing file.
原因はわかりませんが、.vimrcでbackupdir
を.
から~/.vim/backups
に移動すると、解決されました。
set backupdir=~/.vim/backups
私が編集しているファイル(私の場合はVisual Studio 2013)のフォルダーを何らかのツールが使用していたと思いますが、よくわかりません。
私の場合、ディスクがいっぱいでした。
これを確認し、ディスク領域が使用されている場所を見つけるためのいくつかのコマンドを次に示します。私の場合、それはPHP 20GB以上のログでした。
# see general disk space usage
df -h
# see current file and directory disk space usage. You can go to / and work your way in
du -sh *
別の可能性として、バックアップを一元的な場所(/ tmpなど)に置き、特定のファイルをルートとして編集した可能性があります。その後、バックアップファイルはrootが所有し、後でユーザーが書き込むことはできなくなります。
この場合、/ tmp/atestfileをタッチする上記の提案では問題は表示されません!書き込み権限がありますが、問題ありませんが、vimが書き込みを試みている特定のバックアップファイルにはアクセスできません。
Root(Sudo rm)としてファイルを削除します。
理由はw!動作するのは、vimがバックアップファイルを書き込まずにファイルを書き込むためです(エラーにもかかわらず書き込みを主張しています)。