X-Git-Url: https://git.danieliu.xyz/?p=dotfiles.git;a=blobdiff_plain;f=.vimrc;h=90857ccd22342c60791933ec8e08bd0148f9d62d;hp=4665ec5220448928ca40162eba1f6dfbb14f031a;hb=c3864f21c97f96577b2bfc3b4b1f492840fd850b;hpb=faceca157243883952e2c3b4e201fff3c0562dd1 diff --git a/.vimrc b/.vimrc index 4665ec5..90857cc 100644 --- a/.vimrc +++ b/.vimrc @@ -13,12 +13,16 @@ set incsearch set encoding=utf-8 set tabstop=4 set shiftwidth=4 -set expandtab +" set expandtab +set ignorecase +set smartcase +set nrformats+=alpha "inc/dec alpha +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 @@ -26,65 +30,146 @@ set conceallevel=2 " Bindings let mapleader = ' ' -" File stuff -" map e :Ex -" map v :Vex +" netrw stuff +map f :Ex map l :bn map h :bp map d :bd -" View whitespace -set lcs=space:· -map s :set list! +let g:netrw_liststyle = 3 +let g:netrw_banner = 0 +let g:netrw_winsize = 25 -" colors -hi Conceal ctermbg=Black -hi SpellBad ctermfg=Red ctermbg=Black cterm=underline +" spell check +setlocal spell +set spelllang=en_us +set spellcapcheck= + +" accept first spell check fix +map z 1z= -" Netrw -" let g:netrw_liststyle = 3 -" let g:netrw_banner = 0 -" let g:netrw_winsize = 25 -" let g:netrw_browse_split = 4 +" folding +set foldmethod=manual +set foldnestmax=10 +set nofoldenable +set foldlevel=2 + +" View whitespace +map s :set list! +set listchars=tab:▸\ ,space:·,eol:¬ + +" reload vimrc +map r :source ~/.vimrc:echo "vimrc reloaded" + +" statusline +function! StatusModeColor() + if (mode() =~# '\v(n|no)') + hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Yellow + 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 + elseif (mode() ==# 'c') + hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Green + else + hi StatusLine cterm=None gui=None ctermfg=black ctermbg=DarkGrey + endif + + return '' +endfunction + +function! StatusModifiedColor() + if getbufinfo(1)[0].changed + hi User1 cterm=None gui=None ctermfg=Black ctermbg=Magenta + else + hi User1 cterm=None gui=None ctermfg=White ctermbg=Black + endif + + return '' +endfunction + +function! BufCount() + return printf("%d/%d", bufnr("%"), len(getbufinfo({'buflisted':1}))) +endfunction + +call StatusModeColor() +call StatusModifiedColor() +autocmd BufWritePost call StatusModifiedColor() + +set laststatus=2 +set statusline= +set statusline+=%{StatusModeColor()} +set statusline+=%{StatusModifiedColor()} +set statusline+=%1*\ | +set statusline+=%0*\ vim\ \[%{mode()}\] +set statusline+=\[%{BufCount()}\] +set statusline+=\ %1*\ %{expand('%:~:.')}\ %m +set statusline+=%= +set statusline+=%y +set statusline+=\ %0* +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 autocmd BufNewFile *.html 0r ~/.vim/templates/skeleton.html autocmd BufNewFile *.rkt 0r ~/.vim/templates/skeleton.rkt + autocmd BufNewFile *.xml 0r ~/.vim/templates/skeleton.xml augroup END " 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 'tpope/vim-commentary' +Plug 'ap/vim-buftabline' Plug 'lervag/vimtex' -Plug 'jiangmiao/auto-pairs' Plug 'PietroPate/vim-tex-conceal' -Plug 'vim-airline/vim-airline' -Plug 'tpope/vim-commentary' -Plug 'ptzz/lf.vim' -Plug 'voldikss/vim-floaterm' -" Plug 'ctrlpvim/ctrlp.vim' -" Plug 'neoclide/coc.nvim', {'branch': 'release'} -" Plug 'habamax/vim-godot' +" Plug 'jiangmiao/auto-pairs' +" Plug 'rlue/vim-barbaric' +" Plug 'junegunn/fzf' call plug#end() +" leader for plugins +let maplocalleader = "\\" + " Ultisnips let g:UltiSnipsExpandTrigger = '' let g:UltiSnipsJumpForwardTrigger = '' let g:UltiSnipsJumpBackwardTrigger = '' let g:UltiSnipsSnippetDirectories=["UltiSnips", "mysnippets"] +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' let g:vimtex_view_method='zathura' @@ -94,17 +179,58 @@ let g:tex_conceal='abdmgs' let g:vimtex_compiler_latexmk = { \'build_dir': '/home/pinosaur/.cache/latexaux/', \} + " \'options': [ + " \ '-shell-escape', + " \], -" VimAirline -let g:airline#extensions#tabline#enabled = 1 -let g:airline#extensions#tabline#buffer_min_count = 2 -let g:airline_powerline_fonts=1 +" vim-barbaric +" let g:barbaric_ime = 'ibus' +" set ttimeoutlen=0 -" Ctrlp -let g:ctrlp_cmd='CtrlPTag' +" buftabline +let g:buftabline_show = 1 -" Lf -" let g:lf_replace_netrw = 1 " weird behavior rn +" fzf +" let g:fzf_layout = { 'down': '40%' } +" let g:fzf_layout = { 'window': '-tabnew' } " 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 +