为了账号安全,请及时绑定邮箱和手机立即绑定

Vim为什么保存带有〜扩展名的文件?

Vim为什么保存带有〜扩展名的文件?

哆啦的时光机 2020-02-04 16:13:40
我发现在Windows上使用Vim时,Vim会保存文件,.ext.swp关闭Vim窗口时会删除该.ext~文件和一个文件。我假设该.ext.swp文件是会话备份,以防Vim崩溃。该.ext~文件的目的是什么?这是永久备份文件吗?很烦人,因为我想将正在处理的所有文件复制到主机上,而无需这些重复项。如何关闭此功能,或者,如果有充分的理由,请隐藏文件?
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

该*.ext~文件是备份文件,其中包含编辑前的文件。


该*.ext.swp文件是交换文件,用作锁定文件,包含撤消/重做历史记录以及Vim需要的任何其他内部信息。万一发生崩溃,您可以重新打开文件,Vim将从交换文件中恢复其先前状态(我认为这很有用,因此请不要将其关闭)。


要关闭自动创建备份文件的功能,请使用(在您的vimrc中):


set nobackup

set nowritebackup

其中nowritebackup更改了Vim的默认“保存”行为,即:


将缓冲区写入新文件

删除原始文件

重命名新文件

并使Vim将缓冲区写入原始文件(导致在I / O错误的情况下有破坏缓冲区的风险)。但是您可以使用它来防止Windows桌面上的“跳转文件”,这是我安装该文件的主要原因nowritebackup。


查看完整回答
反对 回复 2020-02-04
?
四季花海

TA贡献1811条经验 获得超5个赞

我认为更好的解决方案是将这些行放在vimrc文件中


set backupdir=~/vimtmp//,.

set directory=~/vimtmp//,.

第一行用于备份文件,第二行用于交换文件。最后的双斜杠确保在两个文件具有相同名称的情况下不会发生冲突,请参见注释(在进行此编辑时,仅对交换文件支持此选项,而对备份文件不支持)。将,.允许vim使用当前目录,如果前者不存在。


您必须在主目录中创建一个名为vimtmp的目录,此功能才能起作用。另外,请检查配置中是否启用了备份(set backup如果未启用,请添加)。


这样一来,您既可以受益于这两个世界,也不必查看文件,但是如果确实感到有些困惑,则可以从vimtmp获取备份文件。不要忘记不时地清理目录。


查看完整回答
反对 回复 2020-02-04
  • 3 回答
  • 0 关注
  • 705 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信