2 " __ _(_)_ __ ___ _ __ ___
3 " \ \ / / | '_ ` _ \| '__/ __|
4 " \ V /| | | | | | | | | (__
5 " (_)_/ |_|_| |_| |_|_| \___|
18 set nrformats+=alpha "inc/dec alpha
21 " cursors depending on mode
22 let &t_EI = "\<Esc>[2 q" "normal mode
23 let &t_SI = "\<Esc>[6 q" "insert mode
24 let &t_SR = "\<Esc>[4 q" "replace mode
38 let g:netrw_liststyle = 3
39 let g:netrw_banner = 0
40 let g:netrw_winsize = 25
47 " accept first spell check fix
51 map <leader>s :set list!<cr>
52 set listchars=tab:▸\ ,space:·,eol:¬
55 hi Conceal ctermbg=Black
56 hi SpellBad ctermfg=Red ctermbg=Black cterm=underline
59 function! StatusModeColor()
60 if (mode() =~# '\v(n|no)')
61 hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Yellow
62 elseif (mode() =~# '\v(v|V)')
63 hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Red
64 elseif (mode() ==# 'i')
65 hi StatusLine cterm=None gui=None ctermfg=black ctermbg=LightBlue
66 elseif (mode() ==# 'c')
67 hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Green
69 hi StatusLine cterm=None gui=None ctermfg=black ctermbg=DarkGrey
75 function! StatusModifiedColor()
76 if getbufinfo(1)[0].changed
77 hi User1 cterm=None gui=None ctermfg=Black ctermbg=Magenta
79 hi User1 cterm=None gui=None ctermfg=White ctermbg=Black
86 return printf("%d/%d", bufnr("%"), len(getbufinfo({'buflisted':1})))
89 call StatusModeColor()
90 call StatusModifiedColor()
91 autocmd BufWritePost <buffer> call StatusModifiedColor()
95 set statusline+=%{StatusModeColor()}
96 set statusline+=%{StatusModifiedColor()}
97 set statusline+=%1*\ |
98 set statusline+=%0*\ vim\ \[%{mode()}\]
99 set statusline+=\[%{BufCount()}\]
100 set statusline+=\ %1*\ %{expand('%:~:.')}\ %m
103 set statusline+=\ %0*
104 set statusline+=\ %r\[%{v:register}\]
105 set statusline+=\ %l/%L:%c\ |
106 set statusline+=%1*\ |
110 autocmd BufNewFile *.tex 0r ~/.vim/templates/skeleton.tex
111 autocmd BufNewFile *.html 0r ~/.vim/templates/skeleton.html
112 autocmd BufNewFile *.rkt 0r ~/.vim/templates/skeleton.rkt
113 autocmd BufNewFile *.xml 0r ~/.vim/templates/skeleton.xml
117 " this blob auto installs vim plug if it isnt already
118 if empty(glob('~/.vim/autoload/plug.vim'))
119 silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
120 \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
121 autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
125 call plug#begin('~/.vim/plugged')
127 Plug 'sirver/ultisnips'
129 Plug 'PietroPate/vim-tex-conceal'
130 Plug 'jiangmiao/auto-pairs'
131 Plug 'tpope/vim-commentary'
132 Plug 'rlue/vim-barbaric'
134 " Plug 'voldikss/vim-floaterm'
139 let maplocalleader = "\\"
142 let g:UltiSnipsExpandTrigger = '<tab>'
143 let g:UltiSnipsJumpForwardTrigger = '<tab>'
144 let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
145 let g:UltiSnipsSnippetDirectories=["UltiSnips", "mysnippets"]
147 map <localleader>sr :call UltiSnips#RefreshSnippets()<cr>
150 let g:tex_flavor='latex'
151 let g:vimtex_view_method='zathura'
152 let g:vimtex_quickfix_mode=0
153 let g:tex_conceal='abdmgs'
155 let g:vimtex_compiler_latexmk = {
156 \'build_dir': '/home/pinosaur/.cache/latexaux/',
163 " let g:ctrlp_cmd='CtrlPTag'
166 " let g:lf_replace_netrw = 1 " weird behavior rn
169 let g:barbaric_ime = 'ibus'
173 autocmd FileType * set formatoptions-=o