如何规避命令中的错误,例如 E212 和 E13?
:'a,'bw set_question_tags.php
:'a,'bw >> set_question_tags.php
在某些情况下,即使使用 Pavel 的命令:
"create_a_file_and_save.php" E212: Can't open file for writing
(对不起,由于OP完全改变了他的问题,我的回答不再有意义)
所以,你基本上需要一个命令来将文本附加到文件中,即使它不存在?尝试使用感叹号:
:'a,'bw! set_question_tags.php
:'a,'bw!>> set_question_tags.php
问题由两部分组成,感叹号解决了一些问题,但有些需要sudo权限。由于我已经更改了系统,因此我无法再验证。但是,我将在这里回答这个问题,因为现在对我来说似乎很清楚。
1. E212问题解决
:'a,'bw! !sudo tee save_to_new_file_with_different_user.php
:'a,'bw! !sudo tee -a append_to_a_file_with_different_user.php
2.关于E13问题,请看Pavel Shved的回答。
这个答案没有解决我最初的问题中的 sudo 部分,即How can I circumvent the errors, such as E212 and E13, in the commands?
当我找到它时,我不得不更改对问题的接受,因为它没有解决它,只有一部分。
3.关于须藤问题
保护程序显然没有对某些文件的权限,因为他/她在没有 sudo 的情况下无法保存,并且不能通过 ! -标记。该文件是由 sudo 制作的,或者另一个用户没有将文件共享到保护程序,手册中 E212 的原因:
*E190* *E212*
无法打开“{filename}”进行写入 无法打开文件进行写入
由于某种原因,您正在写入的文件无法创建或覆盖。原因可能是您没有在目录中写入的权限或文件名无效。
E13 问题与 Vim 手册中的 E212 错误无关:
*E13* *E189*
文件存在 >(添加!覆盖)“{filename}”存在(添加!覆盖)
您可以防止意外覆盖文件。当你仍然想写时,使用相同的命令,但添加一个“!” 就在命令之后。示例: > :w /tmp/test 更改为: > :w! /tmp/测试