diff --git a/vim/vimrc b/vim/vimrc index 2b3b900..b70a5ec 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -1,3 +1,28 @@ +" Script Settings ------------------------------------------------------------| + +let s:colors=[ +\ 'base16-ashes', +\ 'base16-atelier-cave', +\ 'base16-atelier-forest', +\ 'base16-atelier-heath', +\ 'base16-circus', +\ 'base16-dracula', +\ 'base16-material-palenight', +\ 'base16-monokai', +\ 'base16-onedark', +\ 'base16-porple', +\ 'base16-unikitty-dark', +\] + +let s:columns=80 " GUI columns +let s:rows=24 " GUI rows +let s:cr_scheme=-1 " color from s:colors, -1 = random +let s:number=1 " 0=no number, 1=enable relativenumber, 2=enable number +let s:enable_list=1 " enable whitespace visibility (2=also newlines) +let s:enable_qt=1 " enable Qt C++ highlighting +let s:enable_tagbar=0 " enable tagbar addon +let s:enable_vsp=0 " enable vertical split on enter + " Settings -------------------------------------------------------------------| " general settings (use :help for these) @@ -23,16 +48,30 @@ set ruler set showcmd set noshowmode -set numberwidth=2 -set relativenumber +if s:number == 1 + set numberwidth=2 + set relativenumber + let s:columns+=2 +elseif s:number == 2 + set numberwidth=4 + set relativenumber + set number + let s:columns+=4 +endif set colorcolumn=80 set conceallevel=1 set belloff=all -set list -set listchars=tab:»—,eol:¶,space:·,trail:∴,extends:>,precedes:< +if s:enable_list >= 1 + set list + set listchars=tab:»—,space:·,trail:∴,extends:>,precedes:< + + if s:enable_list >= 2 + set listchars+=eol:¶ + endif +endif " general movement and ergonomics set linebreak @@ -87,6 +126,8 @@ set fileformats=unix,dos,mac set hidden set updatetime=500 +" Plugin Settings ------------------------------------------------------------| + " bufexplorer let g:bufExplorerDisableDefaultKeyMapping=1 @@ -139,8 +180,8 @@ if has('gui_running') set guioptions=agit set guitablabel=%N.%t - set lines=24 - set columns=83 + let &lines=s:rows + let &columns=s:columns else " use high-color terminal capabilities let &t_8f = "\[38;2;%lu;%lu;%lum" @@ -204,24 +245,18 @@ else set directory=$HOME/.vim/temp// endif -" set up colors and file types -let g:good_cr=[ -\ 'base16-ashes', -\ 'base16-atelier-cave', -\ 'base16-atelier-forest', -\ 'base16-atelier-heath', -\ 'base16-circus', -\ 'base16-dracula', -\ 'base16-material-palenight', -\ 'base16-monokai', -\ 'base16-onedark', -\ 'base16-porple', -\ 'base16-unikitty-dark', -\] -let g:cr_scheme=-1 " -1 = random +" Highlighting ---------------------------------------------------------------| + +if s:enable_qt == 1 + syntax keyword cppSTLnamespace Qt +endif syntax on +if s:cr_scheme != -1 + execute 'colorscheme' s:colors[s:cr_scheme] +endif + filetype on filetype plugin on filetype indent on @@ -340,8 +375,8 @@ au BufNewFile,BufRead *.s,*.inc setlocal shiftwidth=8 filetype=asm_ca65 au BufEnter * call s:CloseEmptyBuffers() " set color randomly on buffer enter -if g:cr_scheme == -1 - au BufEnter * execute 'colorscheme' g:good_cr[localtime() % len(g:good_cr)] +if s:cr_scheme == -1 + au BufEnter * execute 'colorscheme' s:colors[localtime() % len(s:colors)] endif " .rkt → Racket @@ -355,14 +390,18 @@ au BufReadPre * let b:did_ftplugin=1 au BufReadPre *.rkt unlet b:did_ftplugin " enable tagbar -"au VimEnter * nested :TagbarOpen +if s:enable_tagbar == 1 + au VimEnter * nested :TagbarOpen +endif " rust.vim sets Cargo.toml to use filetype `cfg` even though it shouldn't, to " fix this we simply do the same thing before it has a chance to au BufRead,BufNewFile Cargo.toml if &filetype == "" | set filetype=toml | endif " vertical split on enter -"au VimEnter * vsplit +if s:enable_vsp == 1 + au VimEnter * vsplit +endif " suppress readonly warnings au BufEnter * set noreadonly