需要帮助。我一直在vi中编辑一个文本文件,我之前能够保存更改,但现在我在输入命令保存文件时遇到上述错误。请帮忙。
答案 0 :(得分:32)
您可以vi
(或者,更有可能是vim
)强制执行写作:
:w!
或者,将文件写入备用位置:
:w! /path/to/other/location
要检查备份文件的写入位置(通常):
:se backup? backupdir? backupext?
尝试touch
该目录中的文件,看看您的操作系统是否给您一个错误,告诉您编辑器无法在那里写的原因。
答案 1 :(得分:8)
有同样的问题。这是因为我以root身份安装了vimconf。您需要更改〜/ .vim目录中的文件权限,并将所有者更改为您的用户。
sudo chmod 0750 ~/.vim
sudo chown user ~/.vim
答案 2 :(得分:4)
我有同样的问题。事实证明这是由于磁盘空间不足。尝试使用Ex)touch test.txt
创建文件。如果您收到消息touch: cannot touch test.txt: No space left on device
,则需要清理磁盘空间
答案 3 :(得分:2)
从vi中,尝试:
:w!
:help w!
提供以下信息:
*:w!* :[range]w[rite]! [++opt] {file} Write the specified lines to {file}. Overwrite an existing file.
答案 4 :(得分:2)
有同样的问题。尝试了上述所有选项,但它没有奏效。然后当我检查我的磁盘空间时,它已满。一旦我清理了一些空间,我就可以再次写回文件了 P.S:这是在linux中。
答案 5 :(得分:2)
我已通过以下方式解决此问题:
sudo chown user ~/.cache/vim/* -R
其中“用户”是您的用户名。
答案 6 :(得分:1)
可以在.vimrc
中指定备份位置,例如:
set backupdir=~/.vim/backup
您可能需要自己创建此目录。
答案 7 :(得分:0)
另一种可能性是您将备份放在集中位置(例如/ tmp),并以root身份编辑特定文件。然后,备份文件将由root拥有,并且您以后只能作为凡人不可写。
在这种情况下,上面触摸/ tmp / atestfile的建议不会显示问题!你有写权限,没有问题,但没有vim试图写的特定备份文件。
以root身份删除文件(sudo rm)。
注意原因w!工作是因为vim在没有编写备份文件的情况下写入文件(尽管有错误,你还是坚持要写它。)
答案 8 :(得分:0)
我不知道原因是什么,但我在.vimrc中从backupdir
移到.
到~/.vim/backups
,它为我解决了这个问题:
set backupdir=~/.vim/backups
我想某种工具正在使用我正在编辑它的文件夹(Visual Studio 2013,在我的例子中),但我不确定。
答案 9 :(得分:0)
就我而言,我的磁盘已满。
这里有一些命令可以验证这一点并找到将磁盘空间占用的位置。就我而言,这是超过20GB的PHP日志。
namespace App\Http\Controllers;
use App\Service;
use Illuminate\Http\Request;
class ServiceController extends Controller
{
public function landpage(){
$services=Service::with('cat')->get();
return view('services.index',compact('services'));
}
public function detail($id){
$services=service::with('cat')->findOrFail($id);
return view('service_detail.index',compact('services'));
}
}