如何禁用Vim所有备份/交换文件?解决设置后仍生成文件的问题
彻底让VIM/GVIM纯内存编辑,不生成任何临时/备份文件
我明白你已经试了不少常规设置但还是踩坑了——这种情况大概率是有些隐藏的全局配置、插件冲突,或者你漏了几个关键选项。咱们一步步来解决,确保彻底杜绝所有临时文件:
第一步:把所有相关选项拉满关闭
把以下配置一次性加到你的~/.vimrc(GVIM还要同步加到~/.gvimrc)里,覆盖所有可能的默认设置:
" 核心:关闭所有备份、交换、临时文件功能 set nobackup " 禁止生成常规备份文件(如 filename~) set nowritebackup " 写入文件时不创建临时备份(避免中间态文件) set noswapfile " 彻底关闭交换文件(如 .filename.swp) set updatecount=0 " 禁止VIM自动定期保存交换文件 set backupskip=* " 强制所有文件跳过备份逻辑 set noundofile " 关闭持久化撤销文件(如 .filename.un~,默认关闭但以防万一) set directory=/dev/null " 强制交换文件目录指向空设备,即使有其他设置试图创建也会失败 set backupdir=/dev/null " 同理,备份目录指向空设备,杜绝备份文件生成
第二步:排查配置加载顺序冲突
有时候系统级的全局配置(比如/etc/vim/vimrc或/usr/share/vim/vimXX/vimrc)会在你的用户配置之后加载,覆盖你的设置。你可以在VIM里输入:scriptnames查看所有加载的配置文件顺序——如果你的~/.vimrc不是最后一个加载的,要么调整系统配置,要么在你的vimrc末尾重复关键设置(比如再写一遍set nobackup nowritebackup noswapfile)强制覆盖。
第三步:排除插件干扰
某些插件可能会偷偷开启备份或交换功能。你可以用vim -u NONE启动一个纯净版VIM(不加载任何配置和插件),然后手动输入上面的配置命令,再编辑文件保存退出。如果这时候没有生成任何临时文件,说明你的插件里有“内鬼”——可以逐个禁用插件排查,找到罪魁祸首。
第四步:验证最终效果
启动VIM/GVIM,新建一个文件输入内容,:w保存后退出,然后用ls -la查看当前目录,确认没有filename~、.filename.swp、.filename.un~这类文件。如果还有残留,输入:set all查看当前所有设置,搜索backup、swap、writebackup相关选项,看是不是被意外设为yes,再针对性修正。
内容的提问来源于stack exchange,提问作者Cubi73
相关产品推荐
相关产品推荐

