From fcc0e387b0f4ae02a07b6c721066749161f9444f Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 18 Jul 2018 10:13:30 +1200 Subject: Scrap auto_cache_dirs plugin for a new approach Trying this instead; creating the relevant directories at install time. Also putting all three under one "cache" subdir of ~/.vim or ~/vimfiles. I'm not sure this is actually better, but I do like that the relevant options are now set in the .vimrc rather than in a plugin, so I guess we'll see. --- .gitmodules | 3 --- Makefile | 8 +++++++- vim/bundle/auto_cache_dirs | 1 - vim/vimrc | 40 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 5 deletions(-) delete mode 160000 vim/bundle/auto_cache_dirs diff --git a/.gitmodules b/.gitmodules index bad6f54b..093f1fc4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,4 @@ # My Vim plugins -[submodule "vim/bundle/auto_cache_dirs"] - path = vim/bundle/auto_cache_dirs - url = https://sanctum.geek.nz/code/vim-auto-cache-dirs.git [submodule "vim/bundle/big_file_options"] path = vim/bundle/big_file_options url = https://sanctum.geek.nz/code/vim-big-file-options.git diff --git a/Makefile b/Makefile index e3e0ad38..507221a8 100644 --- a/Makefile +++ b/Makefile @@ -548,11 +548,17 @@ install-vim-bundle: install-vim-config 'cp -p -- "$$1" $(VIMDIR)/"$${1#vim/bundle/*/}"' _ {} \; $(VIM) -e -u NONE -c 'helptags $(VIMDIR)/doc' -c quit +install-vim-cache: + mkdir -p -- \ + $(VIMDIR)/cache/backup \ + $(VIMDIR)/cache/swap \ + $(VIMDIR)/cache/undo + install-vim-compiler: mkdir -p -- $(VIMDIR)/compiler cp -p -- vim/compiler/*.vim $(VIMDIR)/compiler -install-vim-config: +install-vim-config: install-vim-cache cp -p -- vim/vimrc $(VIMRC) if [ -e /etc/debian_version ] ; then \ cp -p -- vim/system/debian.vim $(VIMDIR)/system.vim ; \ diff --git a/vim/bundle/auto_cache_dirs b/vim/bundle/auto_cache_dirs deleted file mode 160000 index 70ce1808..00000000 --- a/vim/bundle/auto_cache_dirs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 70ce18086dcd84044b307d1481ae8651b9edd4ab diff --git a/vim/vimrc b/vim/vimrc index c8e219f1..e6ff3c77 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -50,6 +50,13 @@ set backspace+=eol " Line breaks set backspace+=indent " Spaces from 'autoindent' set backspace+=start " The start of current insertion +" Try to keep swapfiles in one system-appropriate dir +if has('unix') + set directory^=~/.vim/cache/undo +elseif has('win32') || has('win64') + set directory^=~/vimfiles/cache/undo +endif + " How to deal with lines wrapping beyond the last screen row if v:version > 704 || v:version == 704 && has('patch2109') set display=truncate " Show '@@@' on the last line, if supported @@ -105,6 +112,24 @@ set shortmess+=I " Give me a bit longer to complete mappings set timeoutlen=3000 +" Backup settings +if has('backup') + + " Do keep backups + set backup + + " Try to keep them all in one system-appropriate dir, with full path + if has('unix') + set backupdir^=~/.vim/cache/backup// + elseif has('win32') || has('win64') + set backupdir^=~/vimfiles/cache/backup// + endif + + " Don't back up stuff in /dev/shm or /var/tmp + set backupskip+=/dev/shm,/var/tmp + +endif + " Clear default 'comments' value, let the filetype handle it if has('comments') set comments= @@ -142,6 +167,21 @@ if has('mksession') set sessionoptions-=options endif +" Persistent undo settings +if has('persistent_undo') + + " Do keep undo files + set undofile + + " Try to keep them all in one system-appropriate dir + if has('unix') + set undodir^=~/.vim/cache/undo// + elseif has('win32') || has('win64') + set undodir^=~/vimfiles/cache/undo// + endif + +endif + " Let me move beyond buffer text in visual block mode if has('virtualedit') set virtualedit+=block -- cgit v1.2.3