我正在尝试编辑资料。使用vi编辑器列出,但在保存文件时得到以下错误:

/etc/apt/sources.list" E212: Can't open file for writing

当前回答

只需用-打开文件

sudo vi filename.txt

然后修改文件并使用:wq退出

其他回答

Vim有一个内置的帮助系统。运行:h E212在Vim中打印如下:

由于某种原因,无法创建或覆盖正在写入的文件。 原因可能是您没有在该目录中写入的权限 或者文件名无效。

您可能希望以超级用户身份使用sudo vim file编辑该文件。或者如果你不想离开你现有的vim会话(现在有适当的sudo权限),你可以运行:

:w !sudo tee % > /dev/null

这将保存文件。

我参考了Zsolt在第2级,我输入:

:w !sudo tee % > /dev/null

然后在我的情况下,我仍然无法修改文件,所以提示添加“!”所以我输入

:q! 

然后它就起作用了

您正在访问的文件可能在同一目录中已经有交换副本(或交换版本)

因此,首先查看隐藏文件是否存在。

例如,请参阅以下类型的文件

.system.conf.swp

通过使用命令

ls -a

然后,删除它使用…

rm .system.conf.swp

通常,我建议开始使用超级用户权限使用…

sudo su

当我在目录中的文件上使用git rm时,我得到了这个错误。

我在~/gitRepo/code/newFeature

在newFeature中只有一个文件。我在这个文件上做了一个git rm,然后尝试使用vi创建一个新文件myNewFile。

Ubuntu显示我仍然在newFeature目录中,但实际上git rm已经删除了整个目录。

我必须退出vi,导航到一个目录,然后重新创建newFeature目录。

或者你可能在只读装载的fs上