Vim不会在没有"!"的情况下写文件。有时候(E13)

时间:2014-09-27 00:37:20

标签: vim

经常(每小时多次),当我保存文件:w时,vim告诉我“E13:文件存在(添加!覆盖)”

Example

我不知道为什么会这样,我无法可靠地重现它,感觉随机。

This是我的vimrc,请注意它设置nobackupnowritebackupnoswapfile,并且有一个函数可以删除在我保存时运行的尾随空格一个文件。

此外,我倾向于一次打开20个vims,全部是后台,通常编辑相同的文件。也不是不可能我在多个窗口中打开相同的缓冲区(即:vsp)并可能打开它,然后使用e命令重新打开它,可能来自相对文件路径,或者可能来自绝对的(cmap %/ <C-R>=expand("%:p:h")."/"<CR>)。不知道这是否重要。下次我遇到这个问题时,我会检查ls并报告任何奇怪的内容。

更新

当我尝试保存“lib / seeing_is_believing / wrap_expressions.rb”时(请注意,这是与gif中的文件不同的文件),这又发生了。这是ss,它是缓冲区3:

ls

Update2(对于@mMontu)

我刚才意识到这里发生了两个错误。屏幕截图中的那个是readonly的东西。 gif中的那个更常见,E13: File exists (add ! to override)

我刚刚点击的那个是E13 File exists,对于这个,只读取未设置:

readonly is not set

更新3

我很确定问题是 ZoomWin 插件。我把它换成了新版本,但它根本无法正常工作。所以我暂时停止使用它,并没有这个问题。然后将其切换回来,b / c我错过了它的功能(这是我最喜欢的vim插件),问题又重新开始了。可能是ZoomWin与NerdTree窗口一起使用。可能不是lib作者的错,vim一般看起来很脆弱和错误。也许我会尝试NeoVim,看看他们是否做得更好。也许是时候再次尝试Atom或Emacs了。

2 个答案:

答案 0 :(得分:1)

似乎如果打开文件时出现读取错误,Vim将在:w上打印错误。这可以通过运行:f

来看出
"MANIFEST.in" [Read errors] 1 line --100%--

错误在读取文件内容时不一定是错误;它们可能是由插件引起的。

答案 1 :(得分:-1)

我认为主要问题是该文件已在外部修改,只要发生这种情况,请参阅http://vim.wikia.com/wiki/Have_Vim_check_automatically_if_the_file_has_changed_externally重新加载