152 lines
3.4 KiB
VimL
152 lines
3.4 KiB
VimL
let $PAGER=''
|
|
filetype plugin indent on
|
|
set nocompatible
|
|
|
|
" xdg specificaiton stuff {{{
|
|
if empty($MYVIMRC) | let $MYVIMRC = expand('<sfile>:p') | endif
|
|
set viminfofile=$XDG_CONFIG_HOME/vim/viminfo
|
|
|
|
set runtimepath^=$XDG_CONFIG_HOME/vim
|
|
set runtimepath+=$XDG_DATA_HOME/vim
|
|
set runtimepath+=$XDG_CONFIG_HOME/vim/after
|
|
|
|
set packpath^=$XDG_DATA_HOME/vim,$XDG_CONFIG_HOME/vim
|
|
set packpath+=$XDG_CONFIG_HOME/vim/after
|
|
|
|
let g:netrw_home = $XDG_DATA_HOME."/vim"
|
|
|
|
set backupdir=$XDG_STATE_HOME/vim/backup
|
|
set directory=$XDG_STATE_HOME/vim/swap
|
|
set undodir=$XDG_STATE_HOME/vim/undo
|
|
set viewdir=$XDG_STATE_HOME/vim/view
|
|
" }}}
|
|
|
|
" appearance {{{
|
|
syntax on
|
|
set number
|
|
set relativenumber
|
|
colorscheme dim
|
|
hi LineNr cterm=bold
|
|
hi StatusLineNC ctermfg=7 ctermbg=0 cterm=none
|
|
hi StatusLine cterm=none ctermfg=7
|
|
hi VertSplit cterm=none ctermbg=7 ctermfg=7
|
|
hi WildMenu cterm=bold ctermfg=15
|
|
hi Search ctermfg=0 ctermbg=7
|
|
hi TabLineFill cterm=none
|
|
hi TabLineSel ctermbg=8
|
|
hi CurSearch ctermfg=15 ctermbg=10
|
|
hi IncSearch ctermfg=0 ctermbg=7
|
|
hi SpellLocal ctermbg=0 ctermfg=3
|
|
hi SpellCap ctermbg=0 ctermfg=4
|
|
hi SpellBad ctermbg=0 ctermfg=1
|
|
hi SpellRare ctermbg=0 ctermfg=6
|
|
hi Conceal ctermbg=none ctermfg=none
|
|
" }}}
|
|
|
|
" tabs & windows {{{
|
|
noremap <C-t> :tabnew
|
|
noremap <C-j> <C-w>w
|
|
noremap <C-k> <C-w>W
|
|
noremap <C-w><C-h> <C-w><
|
|
noremap <C-w><C-l> <C-w>>
|
|
noremap <C-w><C-j> <C-w>-
|
|
noremap <C-w><C-k> <C-w>+
|
|
nnoremap gr gT
|
|
nnoremap <Tab> gt
|
|
nnoremap <S-Tab> gT
|
|
" }}}
|
|
|
|
" searching & completion {{{
|
|
set wildmenu
|
|
set lazyredraw
|
|
set showmatch
|
|
set incsearch
|
|
set hlsearch
|
|
set ignorecase
|
|
set smartcase
|
|
set wildignorecase
|
|
noremap <C-S-f> :noh<CR>
|
|
" }}}
|
|
|
|
" folding {{{
|
|
set foldenable
|
|
set foldlevelstart=999
|
|
set foldmethod=marker
|
|
nnoremap <space> za
|
|
" }}}
|
|
|
|
" input {{{
|
|
set noexpandtab
|
|
set copyindent
|
|
set preserveindent
|
|
set tabstop=4
|
|
set softtabstop=0
|
|
set shiftwidth=4
|
|
" quickfix for spelling
|
|
inoremap <C-l> <C-g>u<Esc>[s1z=`]a<C-g>u
|
|
" }}}
|
|
|
|
" misc keybinds {{{
|
|
" git stuff
|
|
map <Leader>1 :diffget LOCAL<CR>
|
|
map <Leader>2 :diffget BASE<CR>
|
|
map <Leader>3 :diffget REMOTE<CR>
|
|
" }}}
|
|
|
|
" misc. options {{{
|
|
set mouse=a
|
|
set backspace=indent,eol,start
|
|
set whichwrap+=<,>,h,l
|
|
set linebreak
|
|
set shellredir=>
|
|
set copyindent
|
|
" }}}
|
|
|
|
" status bar ugh {{{
|
|
set showcmd
|
|
set laststatus=2
|
|
set statusline=
|
|
set statusline+=Buf:\ %-5.3n
|
|
set statusline+=%f
|
|
set statusline+=%h%m%r%w
|
|
set statusline+=\[%{strlen(&ft)?&ft:'none'}]
|
|
set statusline+=%=
|
|
set statusline+=0x%-8B
|
|
set statusline+=%-14(%l,%c%V%)
|
|
set statusline+=%<%P
|
|
" }}}
|
|
|
|
" file browsing {{{
|
|
let g:netrw_banner=0
|
|
let g:netrw_browse_split=4
|
|
let g:netrw_altv=1
|
|
let g:netrw_liststyle=3
|
|
" }}}
|
|
"
|
|
" vimtex {{{
|
|
let g:vimtex_view_method = 'zathura'
|
|
let g:vimtex_compiler_method = 'tectonic'
|
|
let g:tex_conceal='abdmg'
|
|
" }}}
|
|
|
|
" snippets {{{
|
|
let $SNIPPETS="$XDG_CONFIG_HOME/vim/skels"
|
|
let g:zensnippets_disable_default_mappings = 1
|
|
imap <silent><expr> <Tab> zensnippets#expand()
|
|
|
|
nmap <silent> <C-\> <Plug>ZensnippetsNextPlaceholder
|
|
imap <silent> <C-\> <Esc><Plug>ZensnippetsNextPlaceholder
|
|
vmap <silent> <C-\> <Esc><Plug>ZensnippetsNextPlaceholder
|
|
|
|
" List all available snippets for the current buffer
|
|
inoremap <silent> <C-x><C-x><C-\> <C-o>:call zensnippets#showall()<CR>
|
|
nnoremap <silent> <C-x><C-x><C-\> :call zensnippets#showall()<CR>
|
|
" }}}
|
|
|
|
" FILETYPE SHIT {{{
|
|
autocmd FileType c,cpp,rust setlocal sw=8 ts=8
|
|
autocmd FileType rust,python setlocal noet pi
|
|
autocmd FileType haskell,tex setlocal et
|
|
autocmd FileType tex setlocal sw=2 sts=2 conceallevel=1
|
|
" }}}
|