Vim:编写选择时出错

时间:2009-08-29 11:49:43

标签: vim sudo tee

如何规避命令中的错误,例如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

2 个答案:

答案 0 :(得分:2)

(对不起,因为OP完全改变了他的问题,我的答案停止了有意义)

那么,你基本上需要一个将文本附加到文件的命令,即使它不存在?尝试使用感叹号:

:'a,'bw! set_question_tags.php
:'a,'bw!>> set_question_tags.php

答案 1 :(得分:0)

问题包括两个部分,感叹号解决了一些问题,但有些需要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的情况下保存而且没有被解决! -标记。该文件是由sudo制作的,或者另一个用户没有将文件共享给保护程序,E212的原因来自手册:

                                                   *E190* *E212*  
     

无法打开“{filename}”进行书写   无法打开文件进行编写

     

由于某种原因,你是这样的文件   写入无法创建或   覆盖。 原因可能是这样   你没有写入权限   目录或文件名不是   有效的。

E13问题与E2的错误无关,来自Vim的手册:

                                                    *E13* *E189*  
     

文件存在&gt; (添加!覆盖)“{filename}”存在   (添加!覆盖)

     

您受到意外保护   覆盖文件。什么时候想   无论如何写,使用相同的命令,   但添加“!”就在命令之后。   示例:&gt;           :w / tmp / test更改为:&gt;           :W!的/ tmp /测试