aboutsummaryrefslogtreecommitdiff
path: root/vim/vimrc
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2012-09-04 12:34:36 +1200
committerTom Ryder <tom@sanctum.geek.nz>2012-09-04 12:34:36 +1200
commitf57581a802b7b6d962ff208dcf5447050b059784 (patch)
treefba7337b95c086cbf79ac82ec3cb936e559aa90f /vim/vimrc
parentExplicitly set filetypes locally to buffer (diff)
downloaddotfiles-f57581a802b7b6d962ff208dcf5447050b059784.tar.gz
dotfiles-f57581a802b7b6d962ff208dcf5447050b059784.zip
When not sudo, use swap/backup/undo files
Diffstat (limited to 'vim/vimrc')
-rw-r--r--vim/vimrc31
1 files changed, 28 insertions, 3 deletions
diff --git a/vim/vimrc b/vim/vimrc
index 2176d56f..9b40894d 100644
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -36,8 +36,15 @@ if has("autocmd")
endif
" Backups
-set nobackup
-if has("writebackup")
+if empty($SUDO_USER)
+ set backup
+ set backupext=.bak
+ set backupdir^=~/.vim/backup//
+ if !isdirectory($HOME . "/.vim/backup")
+ call mkdir($HOME . "/.vim/backup", "p", 0700)
+ endif
+else
+ set nobackup
set nowritebackup
endif
@@ -163,7 +170,15 @@ if has("spell")
endif
" Swaps
-set noswapfile
+if empty($SUDO_USER)
+ set swapfile
+ set directory^=~/.vim/swap//
+ if !isdirectory($HOME . "/.vim/swap")
+ call mkdir($HOME . "/.vim/swap", "p", 0700)
+ endif
+else
+ set noswapfile
+endif
" Terminal
set noesckeys
@@ -184,6 +199,16 @@ if has("user_commands")
command! -bang WA wa<bang>
endif
+" Undo
+set undolevels=1000
+if empty($SUDO_USER) && has("persistent_undo")
+ set undofile
+ set undodir^=~/.vim/undo//
+ if !isdirectory($HOME . "/.vim/undo")
+ call mkdir($HOME . "/.vim/undo", "p", 0700)
+ endif
+endif
+
" Unmaps
noremap <F1> <nop>
nnoremap K <nop>