为什么Vim用〜扩展名保存文件?

我发现,在Windows上使用Vim时,Vim会保存文件,一个在关闭Vim窗口和.ext.swp文件时被删除的.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
    
    链接地址: http://www.djcxy.com/p/7173.html

    上一篇: Why does Vim save files with a ~ extension?

    下一篇: Floating elements within a div, floats outside of div. Why?