vimrc clean + snippets
[dotfiles.git] / .vimrc
diff --git a/.vimrc b/.vimrc
index 0cb4acd..cecf819 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -10,12 +10,12 @@ syntax on
 set number
 set relativenumber
 set incsearch
-set smartcase
 set encoding=utf-8
 set tabstop=4
 set shiftwidth=4
 set expandtab
-set nrformats+=alpha "inc/dec alpha
+set ignorecase
+set smartcase
 set hidden
 
 " cursors depending on mode
@@ -29,7 +29,7 @@ set conceallevel=2
 " Bindings
 let mapleader = ' '
 
-" File stuff
+" netrw stuff
 map <leader>f :Ex<cr>
 map <leader>l :bn<cr>
 map <leader>h :bp<cr>
@@ -39,13 +39,22 @@ let g:netrw_liststyle = 3
 let g:netrw_banner = 0
 let g:netrw_winsize = 25
 
+" file finding
+set path=**
+set wildmenu
+
 " spell check
 setlocal spell
 set spelllang=en_us
 set spellcapcheck=
 
-" accept first spell check fix
-map <leader>z 1z=<cr>
+" use s as prefix for spell check related commands
+map s <nop>
+map sf 1z=<cr>
+map sn ]s
+map sN [s
+map sa zg
+map sd zw
 
 " folding
 set foldmethod=manual
@@ -53,19 +62,25 @@ set foldnestmax=10
 set nofoldenable
 set foldlevel=2
 
-
 " View whitespace
 map <leader>s :set list!<cr>
 set listchars=tab:▸\ ,space:·,eol:¬
 
 " reload vimrc
-map <leader>r :source ~/.vimrc<cr>
+map <leader>r :source ~/.vimrc<cr>:echo "vimrc reloaded"<cr>
+
+" write with sudo
+cmap w!! w !sudo tee > /dev/null %
+
+" reload current file
+map <leader>e :e<cr>:echo "current file reloaded"<cr>
+map <leader>E :e!<cr>:echo "current file force reloaded"<cr>
 
 " statusline
 function! StatusModeColor()
     if (mode() =~# '\v(n|no)')
         hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Yellow
-    elseif (mode() =~# '\v(v|V)')
+    elseif (mode() =~# '\v(v|V|\16)')
         hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Red
     elseif (mode() ==# 'i')
         hi StatusLine cterm=None gui=None ctermfg=black ctermbg=LightBlue
@@ -74,17 +89,19 @@ function! StatusModeColor()
     else
         hi StatusLine cterm=None gui=None ctermfg=black ctermbg=DarkGrey
     endif
-
-    return ''
 endfunction
 
 function! StatusModifiedColor()
-    if getbufinfo(1)[0].changed
+    if &mod
         hi User1 cterm=None gui=None ctermfg=Black ctermbg=Magenta
     else
         hi User1 cterm=None gui=None ctermfg=White ctermbg=Black
     endif
+endfunction
 
+function! ReloadBar()
+    call StatusModeColor()
+    call StatusModifiedColor()
     return ''
 endfunction
 
@@ -92,14 +109,12 @@ function! BufCount()
     return printf("%d/%d", bufnr("%"), len(getbufinfo({'buflisted':1})))
 endfunction
 
-call StatusModeColor()
-call StatusModifiedColor()
-autocmd BufWritePost <buffer> call StatusModifiedColor()
+autocmd BufEnter * call ReloadBar()
+autocmd BufWritePost <buffer> call ReloadBar()
 
 set laststatus=2
 set statusline=
-set statusline+=%{StatusModeColor()}
-set statusline+=%{StatusModifiedColor()}
+set statusline+=%{ReloadBar()}
 set statusline+=%1*\ | 
 set statusline+=%0*\ vim\ \[%{mode()}\]
 set statusline+=\[%{BufCount()}\]
@@ -111,6 +126,11 @@ set statusline+=\ %r\[%{v:register}\]
 set statusline+=\ %l/%L:%c\ |
 set statusline+=%1*\ |
 
+" Tab line
+hi TabLineSel   cterm=Bold ctermfg=Yellow
+hi TabLine      cterm=None ctermfg=Grey ctermbg=Black
+hi TabLineFill  cterm=None ctermbg=Black
+
 " Templates
 augroup templates
     autocmd BufNewFile *.tex 0r ~/.vim/templates/skeleton.tex
@@ -119,26 +139,34 @@ augroup templates
     autocmd BufNewFile *.xml 0r ~/.vim/templates/skeleton.xml
 augroup END
 
+" highlighting (will get rid of this sometime prob)
+au BufRead,BufNewFile *.svelte set filetype=svelte
+au! Syntax svelte source ~/.vim/syntax/svelte.vim
+
+au BufRead,BufNewFile *.shader set filetype=glsl
+au! Syntax svelte source ~/.vim/syntax/glsl.vim
+
 " vim plug
 " this blob auto installs vim plug if it isnt already
-if empty(glob('~/.vim/autoload/plug.vim'))
-   silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
-       \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
-         autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
-         endif
+fun! s:VimPlugSetup()
+    if empty(glob('~/.vim/autoload/plug.vim'))
+        silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
+        autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
+    else
+        echo 'VimPlug is already installed'
+    endif
+endfun
+command PlugSetup :call s:VimPlugSetup()
 
 " template stuff
 call plug#begin('~/.vim/plugged')
 
 Plug 'sirver/ultisnips'
-Plug 'lervag/vimtex'
-Plug 'PietroPate/vim-tex-conceal'
-Plug 'jiangmiao/auto-pairs'
 Plug 'tpope/vim-commentary'
-Plug 'rlue/vim-barbaric'
-Plug 'jeffkreeftmeijer/vim-dim'
-" Plug 'ptzz/lf.vim'
-" Plug 'voldikss/vim-floaterm'
+Plug 'ap/vim-buftabline'
+Plug 'lervag/vimtex', { 'for': 'tex' }
+Plug 'PietroPate/vim-tex-conceal', { 'for': 'tex' }
+Plug 'takac/vim-hardtime'
 
 call plug#end()
 
@@ -151,7 +179,16 @@ let g:UltiSnipsJumpForwardTrigger = '<tab>'
 let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
 let g:UltiSnipsSnippetDirectories=["UltiSnips", "mysnippets"]
 
-map <localleader>sr :call UltiSnips#RefreshSnippets()<cr>
+map <localleader>sr :call UltiSnips#RefreshSnippets()<cr>:echo "Refreshed Snippets"<cr>
+
+" latex stuff
+" fun! LatexCompile()
+"     echo 'compiling latex'
+" endfun
+" augroup latex
+"     autocmd!
+"     autocmd BufWritePost *.tex :call LatexCompile()
+" augroup END
 
 " Vimtex
 let g:tex_flavor='latex'
@@ -161,20 +198,17 @@ let g:tex_conceal='abdmgs'
 
 let g:vimtex_compiler_latexmk = {
     \'build_dir': '/home/pinosaur/.cache/latexaux/',
+    \'options': [
+    \   '-shell-escape',
+    \],
 \}
-    " \'options': [
-    " \   '-shell-escape',
-    " \],
-
-" Ctrlp
-" let g:ctrlp_cmd='CtrlPTag'
 
-" Lf
-" let g:lf_replace_netrw = 1 " weird behavior rn
+" buftabline
+let g:buftabline_show = 1
 
-" vim-barbaric
-let g:barbaric_ime = 'ibus'
-set ttimeoutlen=0
+" hardtime
+let g:hardtime_default_on = 1
+let g:hardtime_maxcount = 2
 
 " Run after plugins
 autocmd FileType * set formatoptions-=o
@@ -193,18 +227,15 @@ hi Question       ctermfg=2
 hi Title          ctermfg=5
 hi WarningMsg     ctermfg=1
 hi WildMenu       ctermfg=0 ctermbg=11
-hi Conceal        ctermfg=0
-hi SpellBad       ctermbg=9 ctermbg=0 cterm=underline
-hi SpellRare      ctermbg=13
-hi SpellLocal     ctermbg=14
+hi Conceal        ctermbg=0
+hi SpellBad       ctermfg=9 ctermbg=0 cterm=underline
+hi SpellRare      ctermbg=13 ctermbg=0 cterm=underline
+hi SpellLocal     ctermfg=14 ctermbg=0 cterm=underline
 hi PmenuSbar      ctermbg=8
 hi PmenuThumb     ctermbg=0
-hi TabLine        cterm=underline ctermfg=0 ctermbg=7
-hi TabLineSel     cterm=bold
-hi TabLineFill    cterm=reverse
 hi CursorColumn   ctermbg=7
 hi CursorLine     cterm=underline
-hi MatchParen     ctermbg=14
+hi MatchParen     cterm=NONE ctermfg=0 ctermbg=14
 hi Constant       ctermfg=1
 hi Special        ctermfg=5
 hi Identifier     cterm=NONE ctermfg=6
@@ -215,7 +246,9 @@ hi Underlined     cterm=underline ctermfg=5
 hi Ignore         ctermfg=15
 hi Error          ctermfg=15 ctermbg=9
 hi Todo           ctermfg=0 ctermbg=11
-hi Comment        ctermfg=7
+hi Comment        ctermfg=DarkGrey
 hi lineNr         ctermfg=DarkGrey
 hi Folded         ctermfg=0
+hi Pmenu          ctermfg=0 ctermbg=7
+hi PmenuSel       ctermfg=0 ctermbg=6