vim: tweak visuals

master
an 2019-07-27 14:35:51 -04:00
parent bafe2ba183
commit fe64c098dd
1 changed files with 75 additions and 78 deletions

153
vim/vimrc
View File

@ -7,26 +7,26 @@ set autochdir
set laststatus=2 set laststatus=2
" visuals " visuals
set statusline=[%{&syntax}]\ %f set statusline=%{StatuslinePrelude()}
set statusline+=%r set statusline+=%{ModePrint()}
set statusline+=%m set statusline+=\ %r
set statusline+=\ %{FugitiveStatusline()} set statusline+=\ %{&filetype}
"set statusline+=\ %{tagbar#currenttag('←\ %s\ ','','f')} set statusline+=\ %f
set statusline+=\ %= set statusline+=%=
set statusline+=\ %m
set statusline+=\ %{FileSize()} set statusline+=\ %{FileSize()}
set statusline+=\ %4l:%-3c set statusline+=\ ↑%4l→%-3c
set statusline+=\ %4L set statusline+=\ ↓%5L
set statusline+=\ %3p%% set statusline+=\ %3p%%
set ruler set ruler
set showcmd set showcmd
set noshowmode set noshowmode
set numberwidth=4 set numberwidth=2
"set relativenumber set relativenumber
"set number
set colorcolumn=81 set colorcolumn=80
set conceallevel=1 set conceallevel=1
set belloff=all set belloff=all
@ -132,50 +132,6 @@ let g:zig_fmt_autosave=0
" polyglot " polyglot
let g:polyglot_disabled=['c++11'] 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 " gui and terminal specific settings
if has('gui_running') if has('gui_running')
set guicursor+=i:hor10-Cursor set guicursor+=i:hor10-Cursor
@ -184,7 +140,7 @@ if has('gui_running')
set guitablabel=%N.%t set guitablabel=%N.%t
set lines=24 set lines=24
set columns=80 set columns=83
else else
" use 256-color terminal capabilities " use 256-color terminal capabilities
set t_Co=256 set t_Co=256
@ -248,27 +204,20 @@ else
endif endif
" set up colors and file types " set up colors and file types
colorscheme quantum let g:good_cr=[
\ 'base16-ashes',
" good color schemes: \ 'base16-atelier-cave',
" aurora \ 'base16-atelier-forest',
" badwolf \ 'base16-atelier-heath',
" candid \ 'base16-circus',
" base16-ashes \ 'base16-dracula',
" base16-atelier-cave \ 'base16-material-palenight',
" base16-atelier-forest \ 'base16-monokai',
" base16-atelier-heath \ 'base16-onedark',
" base16-atelier-sulphurpool \ 'base16-porple',
" base16-circus \ 'base16-unikitty-dark',
" base16-dracula \]
" base16-material-palenight let g:cr_scheme=-1 " -1 = random
" base16-monokai
" base16-onedark
" base16-porple
" base16-unikitty-dark
" base16-zenburn
" plastic
" quantum
syntax on syntax on
@ -301,6 +250,49 @@ fu! FileSize()
endif endif
endfu 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 " Strip whitespace on buffer write
fu! s:StripWhite() fu! s:StripWhite()
ruby<< ruby<<
@ -346,6 +338,11 @@ au BufNewFile,BufRead *.s,*.inc setlocal shiftwidth=8 filetype=asm_ca65
" close empty buffers automatically " close empty buffers automatically
au BufEnter * call s:CloseEmptyBuffers() 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 " .rkt → Racket
au BufRead,BufNewFile *.rkt set syntax=racket au BufRead,BufNewFile *.rkt set syntax=racket