has*_*sen 158 vim text-editor temporary-files
为什么vim会创建<filename>~文件?有没有办法禁用它?
如果是备份(或其他),我使用git.
另外,这些.<filename.with.path.hints>.swp文件也是如此.
我怎么告诉vim不要创建那些,或者至少要自己清理?
编辑
哎呀,重复:
我从那里采纳了rogeriopvl的答案.
逐字复制:
set nobackup "no backup files
set nowritebackup "only in case you don't want a backup file while editing
set noswapfile "no swap files
Run Code Online (Sandbox Code Playgroud)
use*_*400 71
我强烈建议继续使用交换文件(如果Vim崩溃).
您可以设置存储交换文件的目录,这样它们就不会混乱您的正常目录:
set swapfile
set dir=~/tmp
Run Code Online (Sandbox Code Playgroud)
也可以看看
:help swap-file
Run Code Online (Sandbox Code Playgroud)
Cha*_*rch 55
把它放在你的.vimrc配置文件中.
set nobackup
Run Code Online (Sandbox Code Playgroud)
小智 31
; 对于Windows用户,请返回临时目录
set backup
set backupdir=C:\WINDOWS\Temp
set backupskip=C:\WINDOWS\Temp\*
set directory=C:\WINDOWS\Temp
set writebackup
Run Code Online (Sandbox Code Playgroud)
joe*_*dle 10
我创建了一个名为"noswapsuck"的插件,它只在缓冲区包含未保存的更改时启用交换文件.保存更改后,将清除交换文件.因此,将删除包含与磁盘上文件相同内容的交换文件.
在这里得到它: noswapsuck.vim
它一直对我有用,但我以前从未公开过,所以我欢迎反馈.
好处:
缺点:
如果缓冲区有交换文件,则首次打开文件时将不会检测到它.只有在 (已解决:我们现在通过暂时swapfile启用时才会检测到它,即开始编辑缓冲区时.那已经很晚了,会打扰你.swapfile再次打开选项来检查打开缓冲区时预先存在的交换文件.)
如果您在要最小化磁盘写入的环境中工作(例如,低功耗,或通过网络安装的文件,或编辑大文件),那么继续删除和重新创建交换文件并不理想.保存并编辑.在这种情况下,你可以这样做:
:let g:NoSwapSuck_CloseSwapfileOnWrite = 0
Run Code Online (Sandbox Code Playgroud)
这将在写入后保留交换文件,但在缓冲区失去焦点时仍会将其删除.
顺便说一下,我有另一个小插件:DiffAgainstFileOnDisk,在点击之后非常有用(r)ecover,可以检查你恢复的缓冲区是否比现有文件更新或更旧,或者与之相同.
在Windows上,将以下行添加到_vimrc
" store backup, undo, and swap files in temp directory
set directory=$HOME/temp//
set backupdir=$HOME/temp//
set undodir=$HOME/temp//
Run Code Online (Sandbox Code Playgroud)
此答案适用于在Windows 10上使用gVim。对于其他操作系统,我不能保证同样的结果。
加:
set nobackup
set noswapfile
set noundofile
Run Code Online (Sandbox Code Playgroud)
到您的_vimrc文件。
注意:这是问题的直接答案(对于Windows 10),可能不是最安全的操作(请阅读其他答案),但这是我而言最快的解决方案。
我的 Ubuntu .vimrc 中有这个设置。我的项目文件中没有看到任何交换文件。
set undofile
set undolevels=1000 " How many undos
set undoreload=10000 " number of lines to save for undo
set backup " enable backups
set swapfile " enable swaps
set undodir=$HOME/.vim/tmp/undo " undo files
set backupdir=$HOME/.vim/tmp/backup " backups
set directory=$HOME/.vim/tmp/swap " swap files
" Make those folders automatically if they don't already exist.
if !isdirectory(expand(&undodir))
call mkdir(expand(&undodir), "p")
endif
if !isdirectory(expand(&backupdir))
call mkdir(expand(&backupdir), "p")
endif
if !isdirectory(expand(&directory))
call mkdir(expand(&directory), "p")
endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
97781 次 |
| 最近记录: |