X-Git-Url: https://git.danieliu.xyz/?p=dotfiles.git;a=blobdiff_plain;f=.vimrc;h=cecf819ed7faa0669c0beb2d77f5aa2e8b2ef1dd;hp=e68fc91344609464e9703c1974d33d4425e2a244;hb=HEAD;hpb=339415291a788dafe60c6e2503220e0482c44bf1 diff --git a/.vimrc b/.vimrc index e68fc91..cecf819 100644 --- a/.vimrc +++ b/.vimrc @@ -10,18 +10,18 @@ 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 -" spell check -setlocal spell -set spelllang=en_us -set spellcapcheck= +" cursors depending on mode +let &t_EI = "\[2 q" "normal mode +let &t_SI = "\[6 q" "insert mode +let &t_SR = "\[4 q" "replace mode " conceal set conceallevel=2 @@ -29,7 +29,7 @@ set conceallevel=2 " Bindings let mapleader = ' ' -" File stuff +" netrw stuff map f :Ex map l :bn map h :bp @@ -39,19 +39,48 @@ 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= + +" use s as prefix for spell check related commands +map s +map sf 1z= +map sn ]s +map sN [s +map sa zg +map sd zw + +" folding +set foldmethod=manual +set foldnestmax=10 +set nofoldenable +set foldlevel=2 + " View whitespace map s :set list! -set lcs=space:· +set listchars=tab:▸\ ,space:·,eol:¬ -" colors -hi Conceal ctermbg=Black -hi SpellBad ctermfg=Red ctermbg=Black cterm=underline +" reload vimrc +map r :source ~/.vimrc:echo "vimrc reloaded" + +" write with sudo +cmap w!! w !sudo tee > /dev/null % + +" reload current file +map e :e:echo "current file reloaded" +map E :e!:echo "current file force reloaded" " 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|)') hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Red elseif (mode() ==# 'i') hi StatusLine cterm=None gui=None ctermfg=black ctermbg=LightBlue @@ -60,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 @@ -78,14 +109,12 @@ function! BufCount() return printf("%d/%d", bufnr("%"), len(getbufinfo({'buflisted':1}))) endfunction -call StatusModeColor() -call StatusModifiedColor() -autocmd BufWritePost call StatusModifiedColor() +autocmd BufEnter * call ReloadBar() +autocmd BufWritePost 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()}\] @@ -97,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 @@ -105,24 +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 '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() @@ -135,7 +179,16 @@ let g:UltiSnipsJumpForwardTrigger = '' let g:UltiSnipsJumpBackwardTrigger = '' let g:UltiSnipsSnippetDirectories=["UltiSnips", "mysnippets"] -map sr :call UltiSnips#RefreshSnippets() +map sr :call UltiSnips#RefreshSnippets():echo "Refreshed Snippets" + +" latex stuff +" fun! LatexCompile() +" echo 'compiling latex' +" endfun +" augroup latex +" autocmd! +" autocmd BufWritePost *.tex :call LatexCompile() +" augroup END " Vimtex let g:tex_flavor='latex' @@ -145,13 +198,57 @@ let g:tex_conceal='abdmgs' let g:vimtex_compiler_latexmk = { \'build_dir': '/home/pinosaur/.cache/latexaux/', + \'options': [ + \ '-shell-escape', + \], \} -" Ctrlp -" let g:ctrlp_cmd='CtrlPTag' +" buftabline +let g:buftabline_show = 1 -" Lf -" let g:lf_replace_netrw = 1 " weird behavior rn +" hardtime +let g:hardtime_default_on = 1 +let g:hardtime_maxcount = 2 " Run after plugins autocmd FileType * set formatoptions-=o + +" colors +" based off https://github.com/jeffkreeftmeijer/vim-dim/blob/main/colors/default-light.vim +hi SpecialKey ctermfg=4 +hi TermCursor cterm=reverse +hi NonText ctermfg=12 +hi Directory ctermfg=4 +hi ErrorMsg ctermfg=15 ctermbg=1 +hi IncSearch cterm=reverse +hi MoreMsg ctermfg=2 +hi ModeMsg cterm=bold +hi Question ctermfg=2 +hi Title ctermfg=5 +hi WarningMsg ctermfg=1 +hi WildMenu ctermfg=0 ctermbg=11 +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 CursorColumn ctermbg=7 +hi CursorLine cterm=underline +hi MatchParen cterm=NONE ctermfg=0 ctermbg=14 +hi Constant ctermfg=1 +hi Special ctermfg=5 +hi Identifier cterm=NONE ctermfg=6 +hi Statement ctermfg=3 +hi PreProc ctermfg=5 +hi Type ctermfg=2 +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=DarkGrey +hi lineNr ctermfg=DarkGrey +hi Folded ctermfg=0 +hi Pmenu ctermfg=0 ctermbg=7 +hi PmenuSel ctermfg=0 ctermbg=6 +