From: Samir Benmendil Date: Mon, 9 Feb 2015 16:53:30 +0000 (+0000) Subject: vim: separate backup, undo and view dir X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/41a01ab5953ca44e2bca83e991b8b4bad53bd786 vim: separate backup, undo and view dir --- diff --git a/vim/vimrc b/vim/vimrc index ea32688..f7a072b 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -169,19 +169,30 @@ set diffopt=filler,vertical " reading and writing files {{{2 set modeline " read modelines set modelines=2 " only check first/last 2 lines + set writebackup " write a backup file before overwriting a file set backup " keep a backup after owerwriting a file -set backupdir=$XDG_CACHE_HOME/vim// +set backupdir=$XDG_CACHE_HOME/vim/backup// + +set backupskip+=.netrc " skip netrc +set backupskip+=/dev/shm/pass* " skip passwordstore files set undofile " persistent undo history -set undodir=$XDG_CACHE_HOME/vim// +set undodir=$XDG_CACHE_HOME/vim/undo// + +augroup undoskip + au! + au BufWritePre .netrc setlocal noundofile + au BufWritePre /dev/shm/pass* setlocal noundofile + au BufWritePre /tmp/* setlocal noundofile +augroup END set autowrite " automatically write a file when leaving a modified buffer set autoread " automatically read a file that has been modified " the swap file {{{2 set noswapfile -set directory=$XDG_CACHE_HOME/vim// +set directory=$XDG_CACHE_HOME/vim/swap// " command line editing {{{2 set history=5000 " how many command lines are remembered @@ -202,7 +213,7 @@ set wildignore+=*.orig " Merge resolution files set virtualedit=block " let cursor move past last char in mode set viminfo='100,<50,s10,h,n$XDG_CACHE_HOME/vim/viminfo " viminfo defaults but save file in .cache -set viewdir=$XDG_CACHE_HOME/vim +set viewdir=$XDG_CACHE_HOME/vim/view// " autocmds {{{1 " Resize splits when the window is resized {{{2 diff --git a/zshenv b/zshenv index 710e9f6..0ce4be9 100644 --- a/zshenv +++ b/zshenv @@ -11,7 +11,7 @@ systemctl --user import-environment \ XDG_DATA_HOME # vim stuff -[[ -d "$XDG_CACHE_HOME/vim" ]] || mkdir -p "$XDG_CACHE_HOME/vim" +[[ -d "$XDG_CACHE_HOME/vim/backup" ]] || mkdir -p "$XDG_CACHE_HOME"/vim/{backup,undo,view} export VIMINIT='let $MYVIMRC="$XDG_CONFIG_HOME/vim/vimrc" | source $MYVIMRC' export EDITOR=vim export VISUAL=vim