source $VIMRUNTIME/defaults.vim
-let x = ($XDG_CONFIG_HOME??($HOME."/.config"))."/vim"
+let x = ($XDG_CONFIG_HOME??($HOME.'/.config')).'/vim'
execute 'set runtimepath='.x.','.&runtimepath.','.x.'/after'
execute 'set packpath='.x.','.&packpath.','.x.'/after'
packadd matchit
-let x = ($XDG_DATA_HOME??($HOME."/.local/share"))."/vim"
+let x = ($XDG_STATE_HOME??($HOME.'/.local/state')).'/vim'
if !isdirectory(x)
- call mkdir(x, "p", 0700)
+ call mkdir(x, 'p', 0700)
+endif
+execute 'set viminfofile='.x.'/.viminfo'
+
+let y = x.'/swap'
+if !isdirectory(y)
+ call mkdir(y, 'p', 0700)
+endif
+execute 'set directory='.y.'//'
+
+let y = x.'/backup'
+if !isdirectory(y)
+ call mkdir(y, 'p', 0700)
endif
set backup
-execute 'set backupdir='.x.'//'
+execute 'set backupdir='.y.'//'
set backupcopy=yes
-let x = ($XDG_STATE_HOME??($HOME."/.local/state"))."/vim"
-if !isdirectory(x)
- call mkdir(x, "p", 0700)
+
+let y = x.'/undo'
+if !isdirectory(y)
+ call mkdir(y, 'p', 0700)
endif
set undofile
-execute 'set undodir='.x.'//'
-execute 'set viminfofile='.x.'/.viminfo'
+execute 'set undodir='.y.'//'
+
unlet x
+unlet y
set autoindent
set colorcolumn=80