173 lines
3.8 KiB
VimL
173 lines
3.8 KiB
VimL
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" "
|
|
" Maintainer: Patrick Auernig <patrick DOT auernig AT gmail DOT com> "
|
|
" VIM Version: NVIM 0.1.3 "
|
|
" "
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
|
|
"""""""""""""""""""
|
|
" 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 <silent> <Leader><CR> :noh<CR>
|
|
|
|
nnoremap <F1> <NOP>
|
|
nnoremap U :redo<CR>
|
|
nnoremap <C-R> <NOP>
|
|
nnoremap <Leader>vl :setlocal cursorline!<CR>
|
|
nnoremap <Leader>vc :setlocal cursorcolumn!<CR>
|
|
nnoremap <Leader>ve :setlocal colorcolumn=80<CR>
|
|
nnoremap <Leader>vn :setlocal colorcolumn=0<CR>
|
|
nnoremap <Leader>tcs :call ToggleColorscheme()<CR>
|
|
nnoremap Y y$
|
|
nnoremap j gj
|
|
nnoremap k gk
|
|
nnoremap <leader>fmt gg=G<CR>``
|
|
nnoremap gr gd[{V%::s/<C-R>///g<left><left>
|
|
nnoremap gR gD:%s/<C-R>///g<left><left>
|
|
nnoremap th :tabfirst<CR>
|
|
nnoremap tj :tabnext<CR>
|
|
nnoremap tk :tabprev<CR>
|
|
nnoremap tl :tablast<CR>
|
|
nnoremap tn :tabnew<CR>
|
|
nnoremap tq :tabclose<CR>
|
|
nnoremap <silent> <leader>il :set invlist<CR>
|
|
|
|
inoremap <F1> <NOP>
|
|
inoremap jk <ESC>
|
|
inoremap JK <ESC>
|
|
inoremap Jk <ESC>
|
|
|
|
vnoremap < <gv
|
|
vnoremap > >gv
|
|
vnoremap <silent> <leader>il :<C-W>set invlist<CR>
|
|
|
|
cnoremap sudow w !sudo tee % >/dev/null
|
|
|
|
tnoremap <ESC> <C-\><C-n>
|
|
|
|
|
|
""""""""""""""""
|
|
" 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 "
|
|
"""""""""""""""
|
|
function! ToggleColorscheme()
|
|
if g:colors_name == 'PaperColor'
|
|
call ToggleBackground()
|
|
elseif g:colors_name =~ 'seoul256'
|
|
call ToggleSeoul256()
|
|
elseif g:colors_name =~ 'Tomorrow'
|
|
call ToggleTomorrow()
|
|
endif
|
|
|
|
AirlineRefresh
|
|
endfunction
|
|
|
|
function! ToggleBackground()
|
|
if &background == 'dark'
|
|
set background=light
|
|
else
|
|
set background=dark
|
|
endif
|
|
endfunction
|
|
|
|
"colorscheme molokai
|
|
colorscheme seoul256
|
|
"colorscheme PaperColor
|
|
"colorscheme Tomorrow-Night
|
|
|