X-Git-Url: https://git.danieliu.xyz/?p=dotfiles.git;a=blobdiff_plain;f=.vimrc;h=90857ccd22342c60791933ec8e08bd0148f9d62d;hp=afb2c7d6fc6188444303360e9fc7dbedaa760c59;hb=c3864f21c97f96577b2bfc3b4b1f492840fd850b;hpb=f7b515eabe10128f2e478e6ec16e387467d8d6a4 diff --git a/.vimrc b/.vimrc index afb2c7d..90857cc 100644 --- a/.vimrc +++ b/.vimrc @@ -5,55 +5,171 @@ " (_)_/ |_|_| |_| |_|_| \___| " +" basics syntax on set number set relativenumber -set hlsearch +set incsearch set encoding=utf-8 set tabstop=4 set shiftwidth=4 -set expandtab -set formatoptions-=cro "disables auto comments +" set expandtab +set ignorecase +set smartcase +set nrformats+=alpha "inc/dec alpha +set hidden +" 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 + +" Bindings +let mapleader = ' ' + +" netrw stuff +map f :Ex +map l :bn +map h :bp +map d :bd + +let g:netrw_liststyle = 3 +let g:netrw_banner = 0 +let g:netrw_winsize = 25 + +" spell check setlocal spell set spelllang=en_us set spellcapcheck= -set conceallevel=2 +" accept first spell check fix +map z 1z= -" colors -hi Conceal ctermbg=Black -hi SpellBad ctermfg=Red ctermbg=Black cterm=underline +" 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 -" Some macros +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 '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 'neoclide/coc.nvim', {'branch': 'release'} -" Plug 'habamax/vim-godot' -Plug 'tpope/vim-commentary' +" 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' @@ -63,8 +179,58 @@ let g:tex_conceal='abdmgs' let g:vimtex_compiler_latexmk = { \'build_dir': '/home/pinosaur/.cache/latexaux/', \} + " \'options': [ + " \ '-shell-escape', + " \], + +" vim-barbaric +" let g:barbaric_ime = 'ibus' +" set ttimeoutlen=0 + +" buftabline +let g:buftabline_show = 1 -" VimAirline -"let g:airline#extensions#tabline#enabled = 1 -let g:airline_powerline_fonts=1 +" 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