blob: f118eabd0e4be70088c16dc7b8132f6b29ac89be (
plain) (
tree)
|
|
" Swap files are used if using Unix and not using sudo(8); I very seldom need
" them, but they are occasionally useful after a crash, and they don't really
" get in the way if kept in their own directory
if !strlen($SUDO_USER) && has('unix')
" Use swap files but keep them in ~/.vim/swap; the double-slash at the end
" of the directory prods Vim into keeping the full path to the file in its
" undo filename to avoid collisions; the same thing works for undo files
set swapfile
set directory^=~/.vim/swap//
" Create the ~/.vim/swap directory if necessary and possible
if !isdirectory($HOME . '/.vim/swap') && exists('*mkdir')
call mkdir($HOME . '/.vim/swap', 'p', 0700)
endif
" Don't keep swap files for files in temporary directories or shared memory
" filesystems; this is because they're used as scratch spaces for tools
" like sudoedit(8) and pass(1) and hence could present a security problem
if has('autocmd')
augroup dotfiles_swap_skip
autocmd!
silent! autocmd BufNewFile,BufReadPre
\ /tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*,*/shm/*
\ setlocal noswapfile
augroup END
endif
" Otherwise, don't use swap files at all
else
set noswapfile
endif
|