VIM错误E510“;Can';“不制作备份文件”;尽管没有备份

VIM错误E510“;Can';“不制作备份文件”;尽管没有备份,vim,Vim,我相信这是在Windows从睡眠中恢复后发生的。当我重新启动VIM时,问题消失了。我使用VIM 8.1 我的vimrc包含: set nobackup set noswapfile set noundofile silent execute '!mkdir "'.$TMP.'/vim"' set backupdir=$TMP/vim/ 中的解决方案对我没有帮助,因为我不使用备份(据我所知)。Vim仍然会写入备份文件,以防止写入过程中出现故障。写入成功后,将删除此备份文件。它可以被禁用,但如果

我相信这是在Windows从睡眠中恢复后发生的。当我重新启动VIM时,问题消失了。我使用VIM 8.1

我的vimrc包含:

set nobackup
set noswapfile
set noundofile

silent execute '!mkdir "'.$TMP.'/vim"'
set backupdir=$TMP/vim/

中的解决方案对我没有帮助,因为我不使用备份(据我所知)。

Vim仍然会写入备份文件,以防止写入过程中出现故障。写入成功后,将删除此备份文件。它可以被禁用,但如果写入失败,文件将被销毁

使用
:help“writebackup”
:help backup
阅读相关内容


在禁用所有备份内容之前,您可能需要选中选项
backupdir
。使用它,您可以定义一个中心目录,所有备份文件都存储在该目录中。这样您的工作目录就不会被
*~
-文件淹没。请参阅
:help backupdir


顺便说一句:禁用
swapfile
,Vim在崩溃后无法恢复。我希望你知道你在做什么。

谢谢你的指点。我编辑了我的问题。可能是Windows清理了
%TMP%
中的backupdir。作为用户,我们不得不管理这一点,这真是太遗憾了。所有选项都有缺点。关于
backupdir
:您可能希望在末尾添加第二个
/
,使其
set backupdir=$TMP/vim/
。从
:help backupdir
:“如果目录以两个路径分隔符“/”结尾,则将从文件的完整路径生成备份文件名,所有路径分隔符都更改为百分号“%”。这将确保备份目录中文件名的唯一性。”