只在文件发生改变时,才自动打开swapfile
vim吧
全部回复
仅看楼主
level 6
meoow 楼主
在编辑文件过程中,出现以外中断,swapfile (.swp)文件确实是用于恢复的救星。
不过有时候仅仅只是打开查看文件并不编辑,但也会产生swp文件。
于是我写了一段函数,可以在只有在文件发生改变时,才打开swapfile选项。
一旦local的swapfile选项被打开,autocmd会自动被清空,避免继续检查文件是否被改变
function! s:SetSwapIfModi() "{{{
if &modified
setlocal swapfile
au! Modified CursorMoved,CursorMovedI <buffer>
endif
endfunction "}}}
function! s:islinux() "{{{
return isdirectory('/proc/'.getpid())
endfunction
"}}}
augroup Modified "{{{
au!
if s:islinux()
au BufReadPre * au Modified CursorMoved,CursorMovedI <buffer> call s:SetSwapIfModi()
else
au BufReadPre * au Modified CursorMoved,CursorMovedI <buffer=abuf> call s:SetSwapIfModi()
endif
augroup END "}}}
2016年04月20日 14点04分 1
1