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'
-unlet x
packadd matchit
-if !isdirectory($HOME . "/.local/share/vim")
- call mkdir($HOME . "/.local/share/vim", "p", 0700)
+let x = ($XDG_STATE_HOME??($HOME.'/.local/state')).'/vim'
+if !isdirectory(x)
+ 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
-set backupdir=$HOME/.local/share/vim//
+execute 'set backupdir='.y.'//'
set backupcopy=yes
-if !isdirectory($HOME . "/.local/state/vim")
- call mkdir($HOME . "/.local/state/vim", "p", 0700)
+
+let y = x.'/undo'
+if !isdirectory(y)
+ call mkdir(y, 'p', 0700)
endif
set undofile
-set undodir=$HOME/.local/state/vim//
+execute 'set undodir='.y.'//'
+
+unlet x
+unlet y
set autoindent
set colorcolumn=80
highlight ColorColumn term=NONE ctermbg=0
-autocmd FileType python setlocal tabstop=4 shiftwidth=4 expandtab
-autocmd FileType markdown setlocal tabstop=4 shiftwidth=4 expandtab
-autocmd FileType javascript setlocal tabstop=2 shiftwidth=2 expandtab
-autocmd FileType json setlocal tabstop=2 shiftwidth=2 expandtab
-autocmd FileType html setlocal tabstop=2 shiftwidth=2 expandtab
+autocmd FileType python setlocal softtabstop=4 shiftwidth=4 expandtab
+autocmd FileType markdown setlocal softtabstop=4 shiftwidth=4 expandtab
+autocmd FileType javascript setlocal softtabstop=2 shiftwidth=2 expandtab
+autocmd FileType json setlocal softtabstop=2 shiftwidth=2 expandtab
+autocmd FileType html setlocal softtabstop=2 shiftwidth=2 expandtab
autocmd FileType todo setlocal colorcolumn=0
set cursorline
autocmd FocusGained * setlocal relativenumber
highlight WhiteSpaceBol ctermfg=DarkBlue
highlight WhiteSpaceMol ctermfg=Black
-match WhiteSpaceMol / /
-2match WhiteSpaceBol /\(^ \+\)\|\( \+$\)/
+autocmd BufEnter * 2match WhiteSpaceBol /\(^ \+\)\|\( \+$\)/
+autocmd BufEnter * match WhiteSpaceMol / /
-" vim: set et fenc=utf-8 ft=vim sts=4 sw=4 ts=8 tw=79 :
+let g:EditorConfig_enable_for_new_buf = 1