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

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


当前回答

不为特定文件创建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

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

我在这里找到了答案:

vim -n <file>

打开没有交换文件的文件。

此外:

set dir=/tmp

在.vimrc中创建/tmp中的交换文件。

在.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。

要从vim中禁用交换文件,输入

:set noswapfile

要永久禁用交换文件,请将以下文件添加到~/。vimrc文件

set noswapfile

要了解更多细节,请参阅swapfile上的Vim文档