我发现在Windows Vim上使用Vim时保存文件,.ext.swp
在关闭Vim窗口和.ext~
文件时删除了一个文件.
我假设.ext.swp
文件是会话备份,以防Vim崩溃..ext~
但是文件的目的是什么?这是永久备份文件吗?这很烦人,因为我想将我正在处理的所有文件复制到我的主机上,没有这些重复项.如何将其关闭,或者如果它有充分的理由,请隐藏文件?
该*.ext~
文件是一个备份文件,包含编辑之前的文件.
该*.ext.swp
文件是交换文件,用作锁定文件,包含撤消/重做历史记录以及Vim需要的任何其他内部信息.如果发生崩溃,您可以重新打开文件,Vim将从交换文件中恢复其先前的状态(我觉得这很有帮助,所以我不会将其关闭).
要关闭自动创建备份文件,请使用(在您的vimrc中):
set nobackup set nowritebackup
在哪里nowritebackup
更改Vim的默认"保存"行为,即:
将缓冲区写入新文件
删除原始文件
重命名新文件
并使Vim将缓冲区写入原始文件(如果发生I/O错误,则会导致破坏它的风险).但是你可以防止它在Windows桌面上"跳转文件",这是我使用它的主要原因nowritebackup
.
我认为更好的解决方案是将这些行放在vimrc文件中
set backupdir=~/vimtmp//,. set directory=~/vimtmp//,.
您必须在主目录中创建一个名为vimtmp的目录才能使用此目录.
这样你就可以获得两个世界的好处,你不必看到文件,但如果有什么东西可以得到充分的结果,你可以从vimtmp获取你的备份文件.不要忘记不时地清理目录.
要关闭这些文件,只需将这些行添加到.vimrc(基于unix的OS上的vim配置文件):
set nobackup #no backup files set nowritebackup #only in case you don't want a backup file while editing set noswapfile #no swap files
:set nobackup
将关闭备份.如果您仍然需要这些备份文件但在中央文件夹中,也可以设置backupdir.这样你的工作目录就不会出现〜文件.
您可以在下面找到有关备份的更多信息:备份.
您还可以设置不同的备份扩展以及保存这些备份的位置(我更喜欢~/.vimbackups
Linux).我以前使用"版本化"备份,通过:
au BufWritePre * let &bex = '-' . strftime("%Y%m%d-%H%M%S") . '.vimbackup'
这将设置动态备份扩展(ORIGINALFILENAME-YYYYMMDD-HHMMSS.vimbackup
).
把这一行放入你的vimrc
:
C:\Program Files (x86)\vim\_vimrc
在Windows中,它将成为set nobk nowb noswf noudf
所有用户的系统范围vim配置文件.
设置最后一个"
在Windows中很重要,以防止nobackup
在编辑后创建tilda文件.
我希望Vim默认包含该行.没有人喜欢丑陋的目录.
让用户首先选择是否以及如何启用高级备份/撤消文件功能.
这是Vim最讨厌的部分.
下一步是设置nowritebackup
禁用蜂鸣声:P
你是正确的,.swp
文件被vim用于锁定和恢复文件.
set nobackup
如果您不想要这些文件,请尝试加入您的vimrc.如果你想要整个独家新闻,或者想要拥有.bak文件,请参阅Vim文档了解各种备份相关选项...