很多时候(如每小时多次),当我保存我的文件时 :w
,vim 告诉我“E13:文件存在(添加!覆盖)”
我不知道它为什么这样做,我无法可靠地重现它,感觉是随机的。
This是我的 vimrc,注意它设置了 nobackup
, nowritebackup
, 和 noswapfile
,并且有一个函数可以去除在我保存文件时运行的尾随空格。
另外,我倾向于一次打开 20 个 vim,它们都是后台运行的,经常编辑同一个文件。我在多个窗口(即 :vsp
)中打开相同的缓冲区也不是不可能的,并且可能会打开它,然后用 e
重新打开它命令很多,可能来自相对文件路径,也可能来自绝对文件路径( cmap %/ <C-R>=expand("%:p:h")."/"<CR>
)。不知道这是否重要。下次遇到这个问题时,我会检查我的 ls
并报告任何奇怪的事情。
更新:
当我尝试保存“lib/seeing_is_believing/wrap_expressions.rb”(请注意,这是与 gif 中的文件不同的文件)时,这种情况再次发生。这是 ss,它是缓冲区 3:
Update2(对于@mMontu)
我刚刚意识到这里发生了两个错误。屏幕截图中的那个是只读的。 gif中的那个是比较常见的,E13: File exists (add ! to override)
我刚打的那个是E13 File exists
,对于这个,只读没有设置:
更新 3
我很确定问题出在 ZoomWin 插件。我已将其切换到较新的版本,但它根本无法正常工作。所以我暂时停止使用它,并没有出现这个问题。然后把它切换回来,b/c 我想念它的功能(这是我最喜欢的 vim 插件),问题又开始了。可能是 ZoomWin 与 NerdTree 窗口结合使用。可能不是 lib 作者的错误,vim 总体上看起来很脆弱和有缺陷。也许我会尝试 NeoVim,看看他们是否做得更好。也许是时候再次尝试 Atom 或 Emacs 了。
最佳答案
似乎如果打开文件时出现读取错误,Vim 会在 :w
上打印错误信息。 .这可以通过运行 :f
看到:
"MANIFEST.in" [Read errors] 1 line --100%--
错误不一定是读取文件内容的错误;它们可能是由插件引起的。
关于Vim 有时不会在没有 "!"的情况下写入文件 (E13),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26070153/