有没有办法.swp
在vim中禁用文件创建?或者至少在一个地方创建它们,这样我就可以轻松找到并删除它们.
当我在同时编辑时复制父目录时,我发现它们特别烦人.当然我知道我可以使用find -exec来查找和删除它们.但我想要一个更实际的解决方案.
要从vim中禁用交换文件,请键入
:set noswapfile
要永久禁用交换文件,请将以下内容添加到您的~/.vimrc
文件中
set noswapfile
有关更多详细信息,请参阅交换文件上的Vim文档
在.vimrc或/ etc/vimrc中设置以下变量,使vim将swap,backup和undo文件放在特殊位置,而不是正在编辑的文件的工作目录:
set backupdir=~/.vim/backup// set directory=~/.vim/swap// set undodir=~/.vim/undo//
在路径中使用双尾斜杠告诉vim启用一个避免名称冲突的功能.例如,如果您在一个位置编辑文件而在另一个位置编辑另一个文件,并且两个文件具有相同的名称,则不希望在〜/ .vim/swap /中发生名称冲突.如果使用两个尾部斜杠指定〜/ .vim/swap //,vim将使用正在编辑的文件的整个路径创建交换文件以避免冲突(文件路径中的斜杠将替换为百分号%).
例如,如果您编辑/path/one/foobar.txt和/path/two/foobar.txt,那么您将看到〜/ .vim/swap /中的两个交换文件名为%path%one%foobar.txt和%path%分别为2%foobar.txt.
我在这里找到了答案:
vim -n
打开没有swapfile的文件.
此外:
set dir=/tmp
在中.vimrc
创建交换文件/tmp
.
这是我个人的〜/ .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
我同意那些质疑为什么vim需要所有这些"灾难恢复"的东西,而没有其他文本编辑为此烦恼.我不希望vim在编辑时在编辑的文件目录中创建任何额外的文件,非常感谢.为此,我在我_vimrc
的禁用交换文件,并将恼人的'备份'文件移动到临时目录:
" 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
您可以将backupdir和directory设置为null以完全禁用交换文件,但通常建议将它们简单地放在集中目录中.Vim负责确保没有名称的碰撞或类似的东西; 所以,这是一个完全安全的选择:
set backupdir=~/.vim/backup/ set directory=~/.vim/backup/