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': '⟶' }) |