有没有办法在Vim中禁用创建.swp文件?或者至少将它们创建在一个地方,这样我可以轻松找到并删除它们?
当我同时编辑并复制父目录时,我发现交换文件特别让人讨厌。当然,我知道可以使用“find -exec”来查找和删除它们,但我想要一个更实用的解决方案。
:set noswapfile
:set noswapfile
要永久禁用交换文件,请将以下内容添加到您的~/.vimrc
文件中
set noswapfile
更多细节请参见Vim交换文件文档
在 .vimrc 或 /etc/vimrc 文件中设置以下变量,以便使 vim 将交换文件、备份文件和撤销文件放置在一个特定的位置,而不是被编辑的文件所在的工作目录:
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%two%foobar.txt。
*.ext~
备份文件怎么办?是否有命令行选项可以禁用它们? - salmatron这是我个人的~/.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
文件中添加了以下内容以禁用交换文件,并将烦人的“备份”文件移动到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
您可以将backupdir和directory设置为null,以完全禁用交换文件,但通常建议将它们放在一个集中的目录中。Vim会确保没有名称冲突或类似的问题,因此这是一种完全安全的选择:
set backupdir=~/.vim/backup/
set directory=~/.vim/backup/
:help directory
。双斜杠告诉vim将文件的完整路径编码到交换文件的名称中,例如%home%sam%dotfiles%.gitignore.swp
,而不仅仅是.gitignore.swp
。 - Samuel O'Malleygit
,你可以将*.swp
添加到 .gitignore
中。针对特定文件,不创建vim交换文件
autocmd bufenter c:/aaa/Dropbox/TapNote/Todo.txt :set noswapfile
autocmd bufenter c:/aaa/Dropbox/TapNote/* :set noswapfile
- scottkosty对于任何试图为Rails项目设置此内容的人,请添加
set directory=tmp,/tmp
into your
~/.vimrc
:noswapfile edit /path/to/file
- Torkel Bjørnson-Langenlua
的方法: 请在任何一个配置文件中添加vim.cmd("noswapfile")
。 - rtviii