Vim无法保存文件(E212)

时间:2013-02-19 01:42:37

标签: macos vim

有时当我使用vim some/path/newfile创建文件时,vim允许我编辑它,只是在我尝试保存更改时抱怨。

E212 Can't open file for writing.

这似乎只在新文件位于系统目录中时才会发生。

:w!不会覆盖此错误。

如何编写当前缓冲区,而不必将其保存到临时位置,退出,然后使用sudo重命名它?

9 个答案:

答案 0 :(得分:54)

这会询问您输入root密码,然后按照您的要求保存更改:

:w !sudo tee %

然后在提示符下键入(L)oad,在保存文件后重新加载文件。

答案 1 :(得分:10)

将此行添加到.vimrc

cmap w!! %!sudo tee > /dev/null

然后你可以做

:w!!

当你进入这个位置时,它将使用sudo写入文件。非常方便。

答案 2 :(得分:7)

您可以先 mkdir ,然后保存。

答案 3 :(得分:2)

如果您想要一个强大,易于记忆的解决方案,并且不介意安装插件,请尝试SudoEdit.vim - Edit Files using sudo or su or any other tool

答案 4 :(得分:2)

如果是Windows 7或更高版本中的情况,请以管理员身份运行VI编辑器。右键单击应用程序,然后选择"以管理员身份运行"。这个问题将得到解决。此外,该错误是由于管理权限造成的。

答案 5 :(得分:1)

vim some / path / newfile

你可以尝试分两步完成,首先创建文件夹' some'和'路径'通过使用mkdir~;第二,你进入'路径'文件夹,使用命令:sudo vim newfile.then save it

答案 6 :(得分:1)

您可以通过使用“ sudo”开始编辑会话来避免此问题。

sudo vi name-of-file

答案 7 :(得分:0)

对于它的价值,您可能还想确保尝试存储文件的分区中有足够的存储空间。我不得不释放/ home驱动器中的一些空间,从而解决了该问题。

答案 8 :(得分:0)

确保要保存文件的目录存在并且您有权编辑文件。

您可以在Vim中键入:help message以获得有关此错误消息和其他错误消息的更多信息。出现文档后,尝试通过键入/E212进行搜索。您也可以在http://vimdoc.sourceforge.net/htmldoc/message.html和CTRL-F上在线查看文档以找到它。