2 " __ _(_)_ __ ___ _ __ ___
3 " \ \ / / | '_ ` _ \| '__/ __|
4 " \ V /| | | | | | | | | (__
5 " (_)_/ |_|_| |_| |_|_| \___|
19 set nrformats+=alpha "inc/dec alpha
22 " cursors depending on mode
23 let &t_EI = "\<Esc>[2 q" "normal mode
24 let &t_SI = "\<Esc>[6 q" "insert mode
25 let &t_SR = "\<Esc>[4 q" "replace mode
39 let g:netrw_liststyle = 3
40 let g:netrw_banner = 0
41 let g:netrw_winsize = 25
48 " accept first spell check fix
58 map <leader>s :set list!<cr>
59 set listchars=tab:▸\ ,space:·,eol:¬
62 map <leader>r :source ~/.vimrc<cr>:echo "vimrc reloaded"<cr>
65 function! StatusModeColor()
66 if (mode() =~# '\v(n|no)')
67 hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Yellow
68 elseif (mode() =~# '\v(v|V|
\16)')
69 hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Red
70 elseif (mode() ==# 'i')
71 hi StatusLine cterm=None gui=None ctermfg=black ctermbg=LightBlue
72 elseif (mode() ==# 'c')
73 hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Green
75 hi StatusLine cterm=None gui=None ctermfg=black ctermbg=DarkGrey
81 function! StatusModifiedColor()
82 if getbufinfo(1)[0].changed
83 hi User1 cterm=None gui=None ctermfg=Black ctermbg=Magenta
85 hi User1 cterm=None gui=None ctermfg=White ctermbg=Black
92 return printf("%d/%d", bufnr("%"), len(getbufinfo({'buflisted':1})))
95 call StatusModeColor()
96 call StatusModifiedColor()
97 autocmd BufWritePost <buffer> call StatusModifiedColor()
101 set statusline+=%{StatusModeColor()}
102 set statusline+=%{StatusModifiedColor()}
103 set statusline+=%1*\ |
104 set statusline+=%0*\ vim\ \[%{mode()}\]
105 set statusline+=\[%{BufCount()}\]
106 set statusline+=\ %1*\ %{expand('%:~:.')}\ %m
109 set statusline+=\ %0*
110 set statusline+=\ %r\[%{v:register}\]
111 set statusline+=\ %l/%L:%c\ |
112 set statusline+=%1*\ |
115 hi TabLineSel cterm=Bold ctermfg=Yellow
116 hi TabLine cterm=None ctermfg=Grey ctermbg=Black
117 hi TabLineFill cterm=None ctermbg=Black
121 autocmd BufNewFile *.tex 0r ~/.vim/templates/skeleton.tex
122 autocmd BufNewFile *.html 0r ~/.vim/templates/skeleton.html
123 autocmd BufNewFile *.rkt 0r ~/.vim/templates/skeleton.rkt
124 autocmd BufNewFile *.xml 0r ~/.vim/templates/skeleton.xml
128 " this blob auto installs vim plug if it isnt already
129 fun! s:VimPlugSetup()
130 if empty(glob('~/.vim/autoload/plug.vim'))
131 silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
132 autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
134 echo 'VimPlug is already installed'
137 command PlugSetup :call s:VimPlugSetup()
140 call plug#begin('~/.vim/plugged')
142 Plug 'sirver/ultisnips'
143 Plug 'tpope/vim-commentary'
144 Plug 'ap/vim-buftabline'
146 Plug 'PietroPate/vim-tex-conceal'
147 " Plug 'jiangmiao/auto-pairs'
148 " Plug 'rlue/vim-barbaric'
149 " Plug 'junegunn/fzf'
154 let maplocalleader = "\\"
157 let g:UltiSnipsExpandTrigger = '<tab>'
158 let g:UltiSnipsJumpForwardTrigger = '<tab>'
159 let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
160 let g:UltiSnipsSnippetDirectories=["UltiSnips", "mysnippets"]
162 map <localleader>sr :call UltiSnips#RefreshSnippets()<cr>:echo "Refreshed Snippets"<cr>
165 " fun! LatexCompile()
166 " echo 'compiling latex'
170 " autocmd BufWritePost *.tex :call LatexCompile()
174 let g:tex_flavor='latex'
175 let g:vimtex_view_method='zathura'
176 let g:vimtex_quickfix_mode=0
177 let g:tex_conceal='abdmgs'
179 let g:vimtex_compiler_latexmk = {
180 \'build_dir': '/home/pinosaur/.cache/latexaux/',
187 " let g:barbaric_ime = 'ibus'
191 let g:buftabline_show = 1
194 " let g:fzf_layout = { 'down': '40%' }
195 " let g:fzf_layout = { 'window': '-tabnew' }
198 autocmd FileType * set formatoptions-=o
201 " based off https://github.com/jeffkreeftmeijer/vim-dim/blob/main/colors/default-light.vim
202 hi SpecialKey ctermfg=4
203 hi TermCursor cterm=reverse
204 hi NonText ctermfg=12
205 hi Directory ctermfg=4
206 hi ErrorMsg ctermfg=15 ctermbg=1
207 hi IncSearch cterm=reverse
209 hi ModeMsg cterm=bold
210 hi Question ctermfg=2
212 hi WarningMsg ctermfg=1
213 hi WildMenu ctermfg=0 ctermbg=11
215 hi SpellBad ctermfg=9 ctermbg=0 cterm=underline
216 hi SpellRare ctermbg=13 ctermbg=0 cterm=underline
217 hi SpellLocal ctermfg=14 ctermbg=0 cterm=underline
218 hi PmenuSbar ctermbg=8
219 hi PmenuThumb ctermbg=0
220 hi CursorColumn ctermbg=7
221 hi CursorLine cterm=underline
222 hi MatchParen cterm=NONE ctermfg=0 ctermbg=14
223 hi Constant ctermfg=1
225 hi Identifier cterm=NONE ctermfg=6
226 hi Statement ctermfg=3
229 hi Underlined cterm=underline ctermfg=5
231 hi Error ctermfg=15 ctermbg=9
232 hi Todo ctermfg=0 ctermbg=11
233 hi Comment ctermfg=DarkGrey
234 hi lineNr ctermfg=DarkGrey