From fe64c098dd41fe887e05a9c55269804a9675cd00 Mon Sep 17 00:00:00 2001 From: Alison Watson Date: Sat, 27 Jul 2019 14:35:51 -0400 Subject: [PATCH] vim: tweak visuals --- vim/vimrc | 153 ++++++++++++++++++++++++++---------------------------- 1 file changed, 75 insertions(+), 78 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 8beb7e3..fd01cd4 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -7,26 +7,26 @@ set autochdir set laststatus=2 " visuals -set statusline=[%{&syntax}]\ %f -set statusline+=%r -set statusline+=%m -set statusline+=\ %{FugitiveStatusline()} -"set statusline+=\ %{tagbar#currenttag('←\ %s\ ','','f')} -set statusline+=\ %= +set statusline=%{StatuslinePrelude()} +set statusline+=%{ModePrint()} +set statusline+=\ %r +set statusline+=\ %{&filetype} +set statusline+=\ %f +set statusline+=%= +set statusline+=\ %m set statusline+=\ %{FileSize()} -set statusline+=\ %4l:%-3c -set statusline+=\ %4L +set statusline+=\ ↑%4l→%-3c +set statusline+=\ ↓%5L set statusline+=\ %3p%% set ruler set showcmd set noshowmode -set numberwidth=4 -"set relativenumber -"set number +set numberwidth=2 +set relativenumber -set colorcolumn=81 +set colorcolumn=80 set conceallevel=1 set belloff=all @@ -132,50 +132,6 @@ let g:zig_fmt_autosave=0 " polyglot let g:polyglot_disabled=['c++11'] -" airline -let g:airline_powerline_fonts=1 - -let g:airline_mode_map = { -\ '__' : '-', -\ 'c' : '/', -\ 'i' : 'I', -\ 'ic' : 'i', -\ 'ix' : 'ï', -\ 'n' : '~', -\ 'multi': 'M', -\ 'ni' : 'N', -\ 'no' : 'n', -\ 'R' : 'R', -\ 'Rv' : 'r', -\ 's' : 's', -\ 'S' : 'S', -\ '' : 'ß', -\ 't' : 't', -\ 'v' : 'v', -\ 'V' : 'V', -\ '' : 'ʌ', -\} - -let g:airline#extensions#default#section_truncate_width={} - -fu! AirlineInit() - let spc = g:airline_symbols.space - - call airline#parts#define_function('mfsize', 'FileSize') - - let g:airline_section_a=airline#section#create_left(['mode', 'readonly']) - let g:airline_section_b=airline#section#create(['filetype', 'hunks', 'branch', 'tagbar']) - let g:airline_section_c=airline#section#create(['file']) - - let g:airline_section_x=airline#section#create_right([]) - let g:airline_section_y=airline#section#create_right(['mfsize']) - let g:airline_section_z=airline#section#create_right(['%4l:%-3c'.spc, '%4L'.spc, '%3p%%']) - let g:airline_section_error='' - let g:airline_section_warning='' -endfu - -au User AirlineAfterInit call AirlineInit() - " gui and terminal specific settings if has('gui_running') set guicursor+=i:hor10-Cursor @@ -184,7 +140,7 @@ if has('gui_running') set guitablabel=%N.%t set lines=24 - set columns=80 + set columns=83 else " use 256-color terminal capabilities set t_Co=256 @@ -248,27 +204,20 @@ else endif " set up colors and file types -colorscheme quantum - -" good color schemes: -" aurora -" badwolf -" candid -" base16-ashes -" base16-atelier-cave -" base16-atelier-forest -" base16-atelier-heath -" base16-atelier-sulphurpool -" base16-circus -" base16-dracula -" base16-material-palenight -" base16-monokai -" base16-onedark -" base16-porple -" base16-unikitty-dark -" base16-zenburn -" plastic -" quantum +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 syntax on @@ -301,6 +250,49 @@ fu! FileSize() endif endfu +" Mode printer +fu! ModePrint() + let mode_map = { +\ 'n' : '~ ', +\ 'no' : 'n ', +\ 'nov' : 'n→', +\ 'noV' : 'n↓', +\ 'no' : 'n↔', +\ 'niI' : '←i', +\ 'niR' : '←R', +\ 'niV' : '←v', +\ 'v' : 'v→', +\ 'V' : 'v↓', +\ '' : 'v↔', +\ 's' : 's→', +\ 'S' : 's↓', +\ '' : 's↔', +\ 'i' : 'i ', +\ 'ic' : '↗c', +\ 'ix' : '↗x', +\ 'R' : 'R ', +\ 'Rc' : '↗r', +\ 'Rv' : "R'", +\ 'Rx' : '↗X', +\ 'c' : '% ', +\ 'cv' : ":'", +\ 'ce' : ': ', +\ 'r' : '↲ ', +\ 'rm' : '⎬ ', +\ 'r?' : "↲'", +\ '!' : '… ', +\ 't' : '…!', +\ } + return mode_map[mode()] +endfu + +" Statusline prelude function +fu! StatuslinePrelude() + hi clear StatusLine + hi StatusLine guibg=#0a0a0a guifg=#92ebf0 + return '' +endfu + " Strip whitespace on buffer write fu! s:StripWhite() ruby<< @@ -346,6 +338,11 @@ au BufNewFile,BufRead *.s,*.inc setlocal shiftwidth=8 filetype=asm_ca65 " close empty buffers automatically 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)] +endif + " .rkt → Racket au BufRead,BufNewFile *.rkt set syntax=racket