我发现,当在Windows上使用Vim时,Vim保存文件,一个.ext。关闭Vim窗口时删除的swp文件和.ext~文件。
我认为。ext。swp文件是一个会话备份,以防Vim崩溃。但是.ext~文件的目的是什么?这是永久备份文件吗?这很烦人,因为我想把我正在处理的所有文件复制到我的主机上,而不需要这些副本。我该如何关闭它,或者,如果它有一个很好的理由,隐藏文件?
我发现,当在Windows上使用Vim时,Vim保存文件,一个.ext。关闭Vim窗口时删除的swp文件和.ext~文件。
我认为。ext。swp文件是一个会话备份,以防Vim崩溃。但是.ext~文件的目的是什么?这是永久备份文件吗?这很烦人,因为我想把我正在处理的所有文件复制到我的主机上,而不需要这些副本。我该如何关闭它,或者,如果它有一个很好的理由,隐藏文件?
当前回答
*。Ext ~ file是一个备份文件,包含编辑之前的文件。
* . ext。swp文件是交换文件,它作为一个锁文件,包含撤消/重做历史以及Vim需要的任何其他内部信息。在崩溃的情况下,您可以重新打开您的文件,Vim将从交换文件恢复其以前的状态(我发现这很有用,所以我没有关闭它)。
关闭自动创建备份文件,使用(在你的vimrc中):
set nobackup
set nowritebackup
其中nowritebackup修改了Vim默认的“保存”行为,即:
将缓冲区写入新文件 删除原始文件 重命名新文件
并使Vim将缓冲区写入原始文件(导致在I/O错误的情况下破坏它的风险)。但是用它可以防止在Windows桌面上“跳转文件”,这是我没有安装writebackup的主要原因。
其他回答
*。Ext ~ file是一个备份文件,包含编辑之前的文件。
* . ext。swp文件是交换文件,它作为一个锁文件,包含撤消/重做历史以及Vim需要的任何其他内部信息。在崩溃的情况下,您可以重新打开您的文件,Vim将从交换文件恢复其以前的状态(我发现这很有用,所以我没有关闭它)。
关闭自动创建备份文件,使用(在你的vimrc中):
set nobackup
set nowritebackup
其中nowritebackup修改了Vim默认的“保存”行为,即:
将缓冲区写入新文件 删除原始文件 重命名新文件
并使Vim将缓冲区写入原始文件(导致在I/O错误的情况下破坏它的风险)。但是用它可以防止在Windows桌面上“跳转文件”,这是我没有安装writebackup的主要原因。
要关闭这些文件,只需将这些行添加到.vimrc(基于unix操作系统的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
您还可以设置不同的备份扩展名以及保存这些备份的位置(我更喜欢~/。linux上的Vimbackups)。我曾经使用“版本化”备份,通过:
au BufWritePre * let &bex = '-' . strftime("%Y%m%d-%H%M%S") . '.vimbackup'
这将设置一个动态备份扩展名(originalfilename - yyyymmdd - hmmss .vimbackup)。
你是正确的,.swp文件被vim用于锁定和作为恢复文件。
如果你不想要这些文件,试着在你的vimrc中放置set nobackup。如果你想要完整的独家消息,或者想要.bak文件,可以查看Vim文档中的各种备份相关选项…
对我来说,唯一可行的选择是将这一行放在~/中。vimrc文件
套noundofile
引用备份文件的其他选项不能阻止创建以~(波浪号)结尾的临时文件。