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

我认为。ext。swp文件是一个会话备份,以防Vim崩溃。但是.ext~文件的目的是什么?这是永久备份文件吗?这很烦人,因为我想把我正在处理的所有文件复制到我的主机上,而不需要这些副本。我该如何关闭它,或者,如果它有一个很好的理由,隐藏文件?


:set nobackup 

将关闭备份。如果您仍然想要这些备份文件,但在中央文件夹中,您还可以设置备份目录。这样,您的工作目录中就不会充斥着~文件。

您可以在:备份下找到更多关于备份的信息。


你是正确的,.swp文件被vim用于锁定和作为恢复文件。

如果你不想要这些文件,试着在你的vimrc中放置set nobackup。如果你想要完整的独家消息,或者想要.bak文件,可以查看Vim文档中的各种备份相关选项…


要关闭这些文件,只需将这些行添加到.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

*。Ext ~ file是一个备份文件,包含编辑之前的文件。

* . ext。swp文件是交换文件,它作为一个锁文件,包含撤消/重做历史以及Vim需要的任何其他内部信息。在崩溃的情况下,您可以重新打开您的文件,Vim将从交换文件恢复其以前的状态(我发现这很有用,所以我没有关闭它)。

关闭自动创建备份文件,使用(在你的vimrc中):

set nobackup
set nowritebackup

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

将缓冲区写入新文件 删除原始文件 重命名新文件

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


您还可以设置不同的备份扩展名以及保存这些备份的位置(我更喜欢~/。linux上的Vimbackups)。我曾经使用“版本化”备份,通过:

au BufWritePre * let &bex = '-' . strftime("%Y%m%d-%H%M%S") . '.vimbackup'

这将设置一个动态备份扩展名(originalfilename - yyyymmdd - hmmss .vimbackup)。


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

set backupdir=~/vimtmp//,.
set directory=~/vimtmp//,.

第一行用于备份文件,第二行用于交换文件。末尾的双斜杠确保在两个具有相同名称的文件的情况下没有冲突,参见注释(在此编辑时,此选项仅适用于交换文件,尚未适用于备份文件)。,。如果当前目录不存在,则允许vim使用当前目录。

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

通过这种方式,您可以获得两个世界的好处,您不必查看文件,但如果某些文件被futtout,您可以从vimtmp获取备份文件。别忘了时不时地把目录清理一下。


对我来说,唯一可行的选择是将这一行放在~/中。vimrc文件

套noundofile

引用备份文件的其他选项不能阻止创建以~(波浪号)结尾的临时文件。


把这一行放入你的vimrc:

nowb nowf noudf“no零钱no零钱文件noundofile


在窗口中,这将是:

C:\Program Files (x86)\vim\_vimrc

文件用于所有用户的系统级vim配置。

在Windows中,设置最后一个noundofile非常重要,可以防止在编辑后创建*~ tilda文件。


我希望Vim默认包含这一行。没有人喜欢难看的目录。

首先让用户选择是否以及如何启用高级备份/撤销文件功能。

这是Vim最烦人的部分。

下一步可能是设置:

设置noeb vb t_vb= " errorbells visualbell .

禁用vim中的蜂鸣声:-)


我必须添加set noundofile到~_gvimrc

“~”目录可以通过使用cd ~命令更改目录来标识