有办法禁用。swp文件创建在vim?或者至少把它们都创建在一个地方,这样我就可以很容易地找到和删除它们。

当我在编辑的同时复制父目录时,我发现它们特别烦人。当然,我知道我可以使用find -exec来查找和删除它们。但我想要一个更实际的解决方案。


当前回答

在.vimrc或/etc/vimrc中设置以下变量,使vim将交换、备份和撤消文件放在一个特殊的位置,而不是正在编辑的文件的工作目录:

set backupdir=~/.vim/backup//
set directory=~/.vim/swap//
set undodir=~/.vim/undo//

在路径中使用双斜杠告诉vim启用一个避免名称冲突的特性。例如,如果您在一个位置编辑一个文件,在另一个位置编辑另一个文件,并且两个文件具有相同的名称,那么您不希望在~/.vim/swap/中发生名称冲突。如果指定~/。Vim将使用正在编辑的文件的整个路径创建交换文件,以避免冲突(文件路径中的斜杠将被百分比符号%取代)。

例如,如果你编辑/path/one/foobar.txt和/path/two/foobar.txt,那么你会在~/中看到两个交换文件。Vim /swap/,分别命名为%path%one%foobar.txt和%path%two%foobar.txt。

其他回答

如果你在你的exrc文件中输入set directory="",你将关闭交换文件。但是,这样做将使恢复失效。

更多信息请点击这里。

如果你正在使用git,你可以添加*。SWP给gitignore。

我同意那些质疑为什么vim需要所有这些“灾难恢复”的东西,而没有其他文本编辑器费心它的人。我不希望vim在编辑文件的目录中创建任何额外的文件,当我编辑它时,非常感谢。为此,我在我的_vimrc中禁用了交换文件,并将烦人的“备份”文件移动到Temp目录:

" Uncomment below to prevent 'tilde backup files' (eg. myfile.txt~) from being created
"set nobackup

" Uncomment below to cause 'tilde backup files' to be created in a different dir so as not to clutter up the current file's directory (probably a better idea than disabling them altogether)
set backupdir=C:\Windows\Temp

" Uncomment below to disable 'swap files' (eg. .myfile.txt.swp) from being created
set noswapfile

不为特定文件创建vim交换文件

autocmd bufenter  c:/aaa/Dropbox/TapNote/Todo.txt :set noswapfile

这是我个人的~/。Vimrc备份设置

" backup to ~/.tmp 
set backup 
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp 
set backupskip=/tmp/*,/private/tmp/* 
set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp 
set writebackup