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

我发现在Windows上使用Vim时,Vim会保存文件,.ext.swp关闭Vim窗口时会删除该.ext~文件和一个文件。

我假设该.ext.swp文件是会话备份,以防Vim崩溃。该.ext~文件的目的是什么?这是永久备份文件吗?很烦人,因为我想将正在处理的所有文件复制到主机上,而无需这些重复项。如何关闭此功能,或者,如果有充分的理由,请隐藏文件


哆啦的时光机
浏览 708回答 3
3回答

互换的青春

该*.ext~文件是备份文件,其中包含编辑前的文件。该*.ext.swp文件是交换文件,用作锁定文件,包含撤消/重做历史记录以及Vim需要的任何其他内部信息。万一发生崩溃,您可以重新打开文件,Vim将从交换文件中恢复其先前状态(我认为这很有用,因此请不要将其关闭)。要关闭自动创建备份文件的功能,请使用(在您的vimrc中):set nobackupset nowritebackup其中nowritebackup更改了Vim的默认“保存”行为,即:将缓冲区写入新文件删除原始文件重命名新文件并使Vim将缓冲区写入原始文件(导致在I / O错误的情况下有破坏缓冲区的风险)。但是您可以使用它来防止Windows桌面上的“跳转文件”,这是我安装该文件的主要原因nowritebackup。

四季花海

我认为更好的解决方案是将这些行放在vimrc文件中set backupdir=~/vimtmp//,.set directory=~/vimtmp//,.第一行用于备份文件,第二行用于交换文件。最后的双斜杠确保在两个文件具有相同名称的情况下不会发生冲突,请参见注释(在进行此编辑时,仅对交换文件支持此选项,而对备份文件不支持)。将,.允许vim使用当前目录,如果前者不存在。您必须在主目录中创建一个名为vimtmp的目录,此功能才能起作用。另外,请检查配置中是否启用了备份(set backup如果未启用,请添加)。这样一来,您既可以受益于这两个世界,也不必查看文件,但是如果确实感到有些困惑,则可以从vimtmp获取备份文件。不要忘记不时地清理目录。
打开App,查看更多内容
随时随地看视频慕课网APP