Answers:
交换文件存储您对缓冲区所做的更改。如果Vim或您的计算机崩溃了,它们将允许您恢复这些更改。
交换文件还提供了一种避免Vim的多个实例编辑同一文件的方法。这在多用户系统上很有用,或者只是知道您是否已经有另一个Vim正在编辑文件。
如果要完全禁用创建交换文件(我不建议这样做),则可以将其添加set noswapfile
到中.vimrc
。这将设置选项的全局值。然后,您可以通过:setlocal swapfile
在运行Vim时使用来覆盖特定缓冲区的缓冲区。
如果您的问题更多地是围绕文件系统散布的多余文件,则可以将所有交换文件集中在一个地方。例如,创建~/.vim/tmp
目录,然后添加
set directory^=$HOME/.vim/tmp//
给你.vimrc
。该'directory'
选项包含Vim将用来尝试存储交换文件的目录列表。
该^=
语法:set
预先将目录名列表的头,让Vim会首先检查该目录。
将//
在目录名的末尾告诉Vim所以没有在不同的目录同名的文件之间的冲突使用绝对路径的文件创建交换文件。
请注意,当有多个用户试图编辑同一文件时,这将防止Vim注意到。由于交换文件与原始文件不在同一目录中,因此其他用户的Vim将不知道交换文件,也不会警告他们交换文件已被编辑。
vim-auto-save
。这样是否就不再需要交换文件?
vim temp.txt --some-command-that-disable-swap
?我的用例是某些观察者将继续监视目录中的任何更改,因此只有到那时,我才要禁用swap以防止冲突。
noswapfile
按照以下建议使用。不过,我最终还是放弃了,因为显然好处多于烦恼-buuuuuut实际上我不记得是什么说服了我恢复交换文件的使用。可能是我的计算机崩溃了,我无法恢复丢失的某些文件,而这些文件在打开交换文件后就变得微不足道了。