diff options
Diffstat (limited to 'vimrc-full')
| -rw-r--r-- | vimrc-full | 52 |
1 files changed, 42 insertions, 10 deletions
| @@ -64,7 +64,7 @@ if has("multi_byte") | |||
| 64 | set listchars+=tab:▏\ | " | 64 | set listchars+=tab:▏\ | " |
| 65 | set listchars+=trail:· | " symbols used when using :set list (which displays non-printable chars) | 65 | set listchars+=trail:· | " symbols used when using :set list (which displays non-printable chars) |
| 66 | " set listchars+=eol:↲ | " symbols used when using :set list (which displays non-printable chars) | 66 | " set listchars+=eol:↲ | " symbols used when using :set list (which displays non-printable chars) |
| 67 | " set listchars+=space:· | " symbols used when using :set list (which displays non-printable chars) | 67 | set listchars+=space:· | " symbols used when using :set list (which displays non-printable chars) |
| 68 | set showbreak+=› | " symbol used in the beginning of a wrapped line | 68 | set showbreak+=› | " symbol used in the beginning of a wrapped line |
| 69 | 69 | ||
| 70 | " automatically enter list mode when going in insert mode (makes above syntax command temporarily ineffective) | 70 | " automatically enter list mode when going in insert mode (makes above syntax command temporarily ineffective) |
| @@ -215,7 +215,7 @@ set writedelay=0 | |||
| 215 | " display and performance | 215 | " display and performance |
| 216 | set lazyredraw | " disables redraw during macro execution (improves performance) | 216 | set lazyredraw | " disables redraw during macro execution (improves performance) |
| 217 | set cmdheight=2 | " sets the command line's height | 217 | set cmdheight=2 | " sets the command line's height |
| 218 | set signcolumn=auto | " auto=auto hide, yes=always, no=never show the column with error indicators | 218 | set signcolumn=yes | " auto=auto hide, yes=always, no=never show the column with error indicators |
| 219 | set nocursorcolumn | " turn visual cursor column off (improves performance) | 219 | set nocursorcolumn | " turn visual cursor column off (improves performance) |
| 220 | set updatetime=80 | " updates the screen more often | 220 | set updatetime=80 | " updates the screen more often |
| 221 | set redrawtime=1500 | " Timeout in milliseconds for redrawing the screen (switches syntax off when ssh too slow) / CTRL+L to retry | 221 | set redrawtime=1500 | " Timeout in milliseconds for redrawing the screen (switches syntax off when ssh too slow) / CTRL+L to retry |
| @@ -242,17 +242,25 @@ set tags+=../tags | |||
| 242 | set nofoldenable | " disable folding, because we have zi to toggle foldenable :) | 242 | set nofoldenable | " disable folding, because we have zi to toggle foldenable :) |
| 243 | set foldclose=all | " automatically fold, when the cursor leaves the folded area | 243 | set foldclose=all | " automatically fold, when the cursor leaves the folded area |
| 244 | set foldcolumn=1 | " I think I don't need this second indicator | 244 | set foldcolumn=1 | " I think I don't need this second indicator |
| 245 | set numberwidth=5 | 245 | " set numberwidth=5 |
| 246 | " set foldmethod=syntax | " foldlevel: syntax, indent, manual / foldmethod=syntax makes Vim incredible slow | 246 | " set foldmethod=syntax | " foldlevel: syntax, indent, manual / foldmethod=syntax makes Vim incredible slow |
| 247 | set foldnestmax=1 | " top level folding only | 247 | set foldnestmax=1 | " top level folding only |
| 248 | set foldopen=block,hor,search | " when do we unfold? | 248 | set foldopen=block,hor,search | " when do we unfold? |
| 249 | " set foldtext=Foldtext() | " | 249 | " set foldtext=Foldtext() | " |
| 250 | " set foldtext=v:folddashes.substitute(getline(v:foldstart),'\\v^/[/*]\','','g') | 250 | " set foldtext=v:folddashes.substitute(getline(v:foldstart),'\\v^/[/*]\','','g') |
| 251 | " set foldtext='⊞\ '.substitute(getline(v:foldstart),'^[\ '.printf(&cms,'').']*','','').'↵'.getline(v:foldstart+1).'↵'.getline(v:foldstart+2) | 251 | " set foldtext='⊞\ '.substitute(getline(v:foldstart),'^[\ '.printf(&cms,'').']*','','').'↵'.getline(v:foldstart+1).'↵'.getline(v:foldstart+2) |
| 252 | set foldtext='⊞\ '.substitute(substitute(substitute(join(getline(v:foldstart,v:foldend)),'\\s\\s\\+\\\|\[\*\/\]','\ ','g'),'\^\\s\\+','','g'),\ '\\s\\s\\+',\ '\ ',\ 'g') | 252 | " set foldtext=repeat('',indent(v:foldstart)).substitute(substitute(substitute(join(getline(v:foldstart,v:foldend)),'\\s\\s\\+\\\|\[\*\/\]','\ ','g'),'\^\\s\\+','','g'),\ '\\s\\s\\+',\ '\ ',\ 'g') |
| 253 | set foldtext=printf('%*s%.*S',indent(v:foldstart),'',&textwidth-indent(v:foldstart),substitute(substitute(join(getline(v:foldstart,v:foldend),'\ '),'[[:space:]]\\+','\ ','g'),'^[[:space:]]','','g')) | ||
| 254 | |||
| 255 | " works ... | ||
| 256 | " set foldexpr=match(synIDattr(synID(v:lnum,indent(v:lnum)+1,0),'name'),'Comment')>-1 | ||
| 257 | set foldexpr=!empty(filter(synstack(v:lnum,indent(v:lnum)+1),{_,val->match(synIDattr(val,'name'),'Comment')>-1})) | ||
| 258 | |||
| 259 | " set foldtext=printf('%*s%.'.eval(&textwidth-indent(v:foldstart)).'S',indent(v:foldstart),'',substitute(substitute(substitute(join(getline(v:foldstart,v:foldend)),'\\s\\s\\+\\\|\[\*\/\]','\ ','g'),'\^\\s\\+','','g'),\ '\\s\\s\\+',\ '\ ',\ 'g')) | ||
| 253 | 260 | ||
| 254 | " vim window behaviour | 261 | " vim window behaviour |
| 255 | set splitbelow | " open new windows below the current one (i find that more intuitive) | 262 | set splitbelow | " open new windows below the current one (i find that more intuitive) |
| 263 | set splitright | " this also works for me and makes better use of the scren space I think | ||
| 256 | set winminwidth=0 | " (and all other windows, so TODO: watch out) | 264 | set winminwidth=0 | " (and all other windows, so TODO: watch out) |
| 257 | set winwidth=30 | " keep NERDTreeWindow at least this size | 265 | set winwidth=30 | " keep NERDTreeWindow at least this size |
| 258 | 266 | ||
| @@ -692,11 +700,18 @@ Plug 'tpope/vim-fugitive' | " the most complete GIT integration plug | |||
| 692 | Plug 'godlygeek/tabular' | " align code on a sign, like :Tab/= | 700 | Plug 'godlygeek/tabular' | " align code on a sign, like :Tab/= |
| 693 | Plug 'tpope/vim-surround' | " plugin makes cs"' inside a line replace " with ' | 701 | Plug 'tpope/vim-surround' | " plugin makes cs"' inside a line replace " with ' |
| 694 | let g:signify_vcs_list = [ 'git' ] | " use signify only with git (improves speed when loading buffers, see :h signify) | 702 | let g:signify_vcs_list = [ 'git' ] | " use signify only with git (improves speed when loading buffers, see :h signify) |
| 695 | let g:signify_cursorhold_insert = 0 | 703 | let g:signify_cursorhold_insert = 0 |
| 696 | let g:signify_cursorhold_normal = 0 | 704 | let g:signify_cursorhold_normal = 0 |
| 697 | let g:signify_update_on_bufenter = 0 | 705 | let g:signify_update_on_bufenter = 0 |
| 698 | let g:signify_update_on_focusgained = 0 | 706 | let g:signify_update_on_focusgained = 0 |
| 699 | let g:signify_sign_show_count = 1 | 707 | let g:signify_sign_show_count = 1 |
| 708 | |||
| 709 | let g:signify_sign_add = '≫' | ||
| 710 | let g:signify_sign_delete = '≪' | ||
| 711 | let g:signify_sign_delete_first_line = '≪' | ||
| 712 | let g:signify_sign_change = '≶' | ||
| 713 | let g:signify_sign_changedelete = g:signify_sign_change | ||
| 714 | |||
| 700 | 715 | ||
| 701 | " NERDTree: replaces NetRW, as long as it has so many bugs | 716 | " NERDTree: replaces NetRW, as long as it has so many bugs |
| 702 | Plug 'scrooloose/nerdtree' | " | 717 | Plug 'scrooloose/nerdtree' | " |
| @@ -995,7 +1010,12 @@ function! ExtendColorTheme() | |||
| 995 | highlight! link PmenuSbar Pmenu | 1010 | highlight! link PmenuSbar Pmenu |
| 996 | highlight! PmenuThumb cterm=inverse | 1011 | highlight! PmenuThumb cterm=inverse |
| 997 | highlight! MoreMsg cterm=inverse | 1012 | highlight! MoreMsg cterm=inverse |
| 998 | highlight! link Folded LineNr | 1013 | |
| 1014 | highlight! link LineNr Comment | ||
| 1015 | highlight! link Folded Comment | ||
| 1016 | highlight! link SignColumn Comment | ||
| 1017 | highlight! link FoldColumn Comment | ||
| 1018 | " highlight! Folded ctermbg=NONE | ||
| 999 | " highlight! Cursor guibg=#729fcf ctermbg=yellow | 1019 | " highlight! Cursor guibg=#729fcf ctermbg=yellow |
| 1000 | highlight! link VertSplit NonText | 1020 | highlight! link VertSplit NonText |
| 1001 | " highlight! SpellBad ctermbg=none | 1021 | " highlight! SpellBad ctermbg=none |
| @@ -1009,6 +1029,7 @@ function! ExtendColorTheme() | |||
| 1009 | highlight! link WildMenu Search | 1029 | highlight! link WildMenu Search |
| 1010 | 1030 | ||
| 1011 | " generic, which should exist but don't | 1031 | " generic, which should exist but don't |
| 1032 | highlight! SignifySignAdd ctermbg=NONE | ||
| 1012 | highlight! Bold cterm=bold gui=bold | 1033 | highlight! Bold cterm=bold gui=bold |
| 1013 | highlight! Italic cterm=italic gui=italic | 1034 | highlight! Italic cterm=italic gui=italic |
| 1014 | highlight! Underline cterm=underline gui=underline | 1035 | highlight! Underline cterm=underline gui=underline |
| @@ -1027,6 +1048,17 @@ function! ExtendColorTheme() | |||
| 1027 | 1048 | ||
| 1028 | highlight! link Convention Error | 1049 | highlight! link Convention Error |
| 1029 | 1050 | ||
| 1051 | |||
| 1052 | highlight! link SignifySignAdd LineNr | ||
| 1053 | highlight! link SignifySignChange LineNr | ||
| 1054 | highlight! link SignifySignDelete LineNr | ||
| 1055 | highlight! link SignifySignChangeDelete LineNr | ||
| 1056 | highlight! link SignifySignDeleteFirstLine LineNr | ||
| 1057 | |||
| 1058 | highlight! SpellBad ctermbg=NONE ctermfg=red cterm=NONE | ||
| 1059 | highlight! link YcmErrorSign SpellBad | ||
| 1060 | highlight! link YcmWarningSign Spellbad | ||
| 1061 | |||
| 1030 | " autocmd InsertLeave * call matchadd('Conceal', ' \+$', -1, 101, { 'conceal': '⟶' }) | 1062 | " autocmd InsertLeave * call matchadd('Conceal', ' \+$', -1, 101, { 'conceal': '⟶' }) |
| 1031 | autocmd InsertEnter * silent! call matchdelete(101) | 1063 | autocmd InsertEnter * silent! call matchdelete(101) |
| 1032 | autocmd InsertLeave * silent! call matchadd('Convention', ' \+$', -1, 101, { 'conceal': '⟶' }) | 1064 | autocmd InsertLeave * silent! call matchadd('Convention', ' \+$', -1, 101, { 'conceal': '⟶' }) |
