""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " " " Maintainer: Patrick Auernig " " VIM Version: NVIM 0.1.0 " " " """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""" " XDG Directories " """"""""""""""""""" let g:vim_config_home = split(&rtp, ',', 0)[0] if exists('$XDG_CACHE_HOME') let g:vim_cache_home = expand('$XDG_CACHE_HOME/') . v:progname else let g:vim_cache_home = expand('$HOME/.local/cache/') . v:progname endif if exists('$XDG_DATA_HOME') let g:vim_data_home = expand('$XDG_DATA_HOME/') . v:progname else let g:vim_data_home = expand('$HOME/.local/share/') . v:progname endif """""""""""" " Settings " """""""""""" set confirm set ttimeout set timeoutlen=500 set autochdir set autowrite set scrolloff=1 set sidescrolloff=5 set number set ignorecase set smartcase set listchars=tab:»\ ,trail:◆,extends:▹,precedes:◃,eol:↲,nbsp:· set showmatch set shortmess=aoOtTI set clipboard+=unnamed set smartindent set undofile set splitbelow set splitright set breakindent set breakindentopt=sbr let &showbreak = '↳ ' set ruler set showcmd set wildmode=list:longest,full set wildignore=.bak,.old,.swp,~ set virtualedit=block set foldcolumn=1 set foldlevel=99 set foldmethod=syntax set foldtext=myfold#text() set visualbell set t_vb= filetype indent on filetype plugin on syntax enable """"""""""""""""""""" " Keyboard mappings " """"""""""""""""""""" let g:mapleader = "," command! Wq wq command! WQ wq command! Q q command! W w noremap :noh nnoremap nnoremap U :redo nnoremap nnoremap vl :setlocal cursorline! nnoremap vc :setlocal cursorcolumn! nnoremap ve :setlocal colorcolumn=80 nnoremap vn :setlocal colorcolumn=0 nnoremap Y y$ nnoremap j gj nnoremap k gk nnoremap fmt gg=G`` nnoremap gr gd[{V%::s////g nnoremap gR gD:%s////g nnoremap th :tabfirst nnoremap tj :tabnext nnoremap tk :tabprev nnoremap tl :tablast nnoremap tn :tabnew nnoremap tq :tabclose nnoremap il :set invlist inoremap inoremap jk inoremap JK inoremap Jk vnoremap < >gv vnoremap il :set invlist cnoremap sudow w !sudo tee % >/dev/null tnoremap """""""""""""""" " Autocommands " """""""""""""""" aug ToggleLineNumbers au! au VimEnter,WinEnter,InsertLeave * setlocal relativenumber au WinLeave,InsertEnter * setlocal norelativenumber aug END aug CursorLineColumn au! au VimEnter,WinEnter,BufWinEnter * setlocal cursorline cursorcolumn au WinLeave * setlocal nocursorline nocursorcolumn aug END augroup AutoReload au! au BufWritePost $MYVIMRC source $MYVIMRC augroup END """"""""""" " Plugins " """"""""""" call plug#begin(g:vim_data_home . '/plugins') runtime! plugins/**/*.vim call plug#end() """"""""""""""" " Colorscheme " """"""""""""""" colorscheme seoul256 "colorscheme molokai "colorscheme PaperColor "colorscheme Tomorrow-Night