diff options
Diffstat (limited to 'vimrc-full')
-rw-r--r-- | vimrc-full | 210 |
1 files changed, 85 insertions, 125 deletions
@@ -1,4 +1,4 @@ | |||
1 | " vim: noai:ts=2:sw=2:sts=2 iskeyword+=\:,\!,\<,\>,\-,\& number | 1 | " vim: noai:ts=2:sw=2:sts=2 iskeyword+=\:,\<,\>,\-,\& number |
2 | 2 | ||
3 | "======================================================================================================================= | 3 | "======================================================================================================================= |
4 | " GENERAL: | 4 | " GENERAL: |
@@ -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) |
@@ -235,13 +235,15 @@ set complete+=i " scan current and included files | |||
235 | set complete+=d " scan current and included files for defined name or macro | 235 | set complete+=d " scan current and included files for defined name or macro |
236 | set complete+=d | " scan current and included files for defined name or macro | 236 | set complete+=d | " scan current and included files for defined name or macro |
237 | set complete+=i | " scan current and included files for completions | 237 | set complete+=i | " scan current and included files for completions |
238 | set completeopt+=noinsert | " Do not insert any text for a match until the user selects one | ||
239 | set completeopt+=noselect | " Do not select a completion from the menu, let the user do that | ||
238 | set tagcase=match | " tagcase match, because we mostly use ^] to jump around and that variant respects the upper/lower case [followscs, followic, match, ignore] | 240 | set tagcase=match | " tagcase match, because we mostly use ^] to jump around and that variant respects the upper/lower case [followscs, followic, match, ignore] |
239 | set tags+=../tags | 241 | set tags+=../tags |
240 | 242 | ||
241 | " code folding... | 243 | " code folding... |
242 | set nofoldenable | " disable folding, because we have zi to toggle foldenable :) | 244 | set nofoldenable | " disable folding, because we have zi to toggle foldenable :) |
243 | set foldclose=all | " automatically fold, when the cursor leaves the folded area | 245 | 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 | 246 | set foldcolumn=2 | " I think I don't need this second indicator |
245 | " set numberwidth=5 | 247 | " set numberwidth=5 |
246 | " set foldmethod=syntax | " foldlevel: syntax, indent, manual / foldmethod=syntax makes Vim incredible slow | 248 | " set foldmethod=syntax | " foldlevel: syntax, indent, manual / foldmethod=syntax makes Vim incredible slow |
247 | set foldnestmax=1 | " top level folding only | 249 | set foldnestmax=1 | " top level folding only |
@@ -250,7 +252,7 @@ set foldopen=block,hor,search | " when do we unfold? | |||
250 | " set foldtext=v:folddashes.substitute(getline(v:foldstart),'\\v^/[/*]\','','g') | 252 | " 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) | 253 | " set foldtext='⊞\ '.substitute(getline(v:foldstart),'^[\ '.printf(&cms,'').']*','','').'↵'.getline(v:foldstart+1).'↵'.getline(v:foldstart+2) |
252 | " set foldtext=repeat('',indent(v:foldstart)).substitute(substitute(substitute(join(getline(v:foldstart,v:foldend)),'\\s\\s\\+\\\|\[\*\/\]','\ ','g'),'\^\\s\\+','','g'),\ '\\s\\s\\+',\ '\ ',\ 'g') | 254 | " 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')) | 255 | 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 | 256 | ||
255 | " works ... | 257 | " works ... |
256 | " set foldexpr=match(synIDattr(synID(v:lnum,indent(v:lnum)+1,0),'name'),'Comment')>-1 | 258 | " set foldexpr=match(synIDattr(synID(v:lnum,indent(v:lnum)+1,0),'name'),'Comment')>-1 |
@@ -403,7 +405,7 @@ if has("autocmd") | |||
403 | autocmd FileType c,cpp set grepformat=%f:%l:%c:%m | 405 | autocmd FileType c,cpp set grepformat=%f:%l:%c:%m |
404 | endif | 406 | endif |
405 | 407 | ||
406 | autocmd BufWinEnter * if &previewwindow | setlocal nonumber signcolumn=no filetype=c nobuflisted | endif | 408 | autocmd BufWinEnter * if &previewwindow | setlocal nonumber nolist signcolumn=no filetype=c nobuflisted | endif |
407 | 409 | ||
408 | 410 | ||
409 | " autocmd FileType c,cpp setlocal iskeyword-=_ | 411 | " autocmd FileType c,cpp setlocal iskeyword-=_ |
@@ -704,12 +706,12 @@ let g:signify_cursorhold_insert = 0 | |||
704 | let g:signify_cursorhold_normal = 0 | 706 | let g:signify_cursorhold_normal = 0 |
705 | let g:signify_update_on_bufenter = 0 | 707 | let g:signify_update_on_bufenter = 0 |
706 | let g:signify_update_on_focusgained = 0 | 708 | let g:signify_update_on_focusgained = 0 |
707 | let g:signify_sign_show_count = 1 | 709 | let g:signify_sign_show_count = 0 |
708 | 710 | ||
709 | let g:signify_sign_add = '' | 711 | let g:signify_sign_add = '' |
710 | let g:signify_sign_delete = '' | 712 | let g:signify_sign_delete = '' |
711 | let g:signify_sign_delete_first_line = '' | 713 | let g:signify_sign_delete_first_line = '' |
712 | let g:signify_sign_change = '' | 714 | let g:signify_sign_change = '' |
713 | let g:signify_sign_changedelete = g:signify_sign_change | 715 | let g:signify_sign_changedelete = g:signify_sign_change |
714 | 716 | ||
715 | 717 | ||
@@ -742,8 +744,6 @@ nnoremap <F4> | |||
742 | " autocmd bufenter * | 744 | " autocmd bufenter * |
743 | " \ if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif | 745 | " \ if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif |
744 | " | 746 | " |
745 | |||
746 | |||
747 | " map CTRL-PageUp/Down to next/previous buffer | 747 | " map CTRL-PageUp/Down to next/previous buffer |
748 | " and Shift-PageUp/Down to next/previous arglist file | 748 | " and Shift-PageUp/Down to next/previous arglist file |
749 | nnoremap <C-PageUp> :bn<CR> | 749 | nnoremap <C-PageUp> :bn<CR> |
@@ -751,21 +751,6 @@ nnoremap <C-PageDown> :bp<CR> | |||
751 | nnoremap <S-PageUp> :N<CR> | 751 | nnoremap <S-PageUp> :N<CR> |
752 | nnoremap <S-PageDown> :n<CR> | 752 | nnoremap <S-PageDown> :n<CR> |
753 | 753 | ||
754 | |||
755 | " Additional: ========================================. | ||
756 | " Plug 'sheerun/vim-polyglot' " better syntax highlighting/indentation for multiple languages | ||
757 | " let g:javascript_conceal_function = "ƒ" | ||
758 | " let g:javascript_conceal_null = "ø" | ||
759 | " let g:javascript_conceal_this = "@" | ||
760 | " let g:javascript_conceal_return = "⇚" | ||
761 | " let g:javascript_conceal_undefined = "¿" | ||
762 | " let g:javascript_conceal_NaN = "ℕ" | ||
763 | " let g:javascript_conceal_prototype = "¶" | ||
764 | " let g:javascript_conceal_static = "•" | ||
765 | " let g:javascript_conceal_super = "Ω" | ||
766 | " let g:javascript_conceal_arrow_function = "⇒" | ||
767 | |||
768 | |||
769 | " indent within <script> and <style> (default is a zero indent) | 754 | " indent within <script> and <style> (default is a zero indent) |
770 | let g:html_indent_script1 = "inc" | 755 | let g:html_indent_script1 = "inc" |
771 | let g:html_indent_style1 = "inc" | 756 | let g:html_indent_style1 = "inc" |
@@ -827,7 +812,8 @@ if has("python") || has('python3') | |||
827 | \ } | 812 | \ } |
828 | 813 | ||
829 | let g:LanguageClient_serverCommands = { | 814 | let g:LanguageClient_serverCommands = { |
830 | \ 'cpp': ['clangd'] | 815 | \ 'cpp': ['clangd'], |
816 | \ 'c': ['clangd'] | ||
831 | \ } | 817 | \ } |
832 | " Plug 'roxma/nvim-completion-manager' unmaintained python version | 818 | " Plug 'roxma/nvim-completion-manager' unmaintained python version |
833 | else | 819 | else |
@@ -848,6 +834,10 @@ if has("python") || has('python3') | |||
848 | let g:ycm_key_list_previous_completion = ['Up'] | 834 | let g:ycm_key_list_previous_completion = ['Up'] |
849 | let g:ycm_key_list_select_completion = ['Down'] | 835 | let g:ycm_key_list_select_completion = ['Down'] |
850 | 836 | ||
837 | let g:ycm_semantic_triggers = { | ||
838 | \ 'c': [ 're!\w{2}' ] | ||
839 | \ } | ||
840 | |||
851 | " Plug 'vim-scripts/dbext.vim' " dependency to allow db related completions | 841 | " Plug 'vim-scripts/dbext.vim' " dependency to allow db related completions |
852 | " let g:ycm_server_python_interpreter = 'python3' | 842 | " let g:ycm_server_python_interpreter = 'python3' |
853 | " let g:ycm_python_binary_path = '/usr/bin/python3' " the python interpreter of choice (for code checking) | 843 | " let g:ycm_python_binary_path = '/usr/bin/python3' " the python interpreter of choice (for code checking) |
@@ -864,7 +854,7 @@ if has("python") || has('python3') | |||
864 | " let g:ycm_key_list_previous_completion = ['<Up>'] | 854 | " let g:ycm_key_list_previous_completion = ['<Up>'] |
865 | " let g:ycm_global_ycm_extra_conf = '.ycm_extra_conf.py' | 855 | " let g:ycm_global_ycm_extra_conf = '.ycm_extra_conf.py' |
866 | " let g:ycm_semantic_triggers = { 'c': [ 're!.' ] } | 856 | " let g:ycm_semantic_triggers = { 'c': [ 're!.' ] } |
867 | " " let g:ycm_disable_for_files_larger_than_kb = 16384 " we have faaast computers, don't we? | 857 | " let g:ycm_disable_for_files_larger_than_kb = 16384 " we have faaast computers, don't we? |
868 | " let g:ycm_show_diagnostics_ui = 0 | 858 | " let g:ycm_show_diagnostics_ui = 0 |
869 | " " disable <tab>-key for YCM so that it can be used with ultisnips | 859 | " " disable <tab>-key for YCM so that it can be used with ultisnips |
870 | " let g:ycm_key_list_select_completion=[] | 860 | " let g:ycm_key_list_select_completion=[] |
@@ -967,113 +957,89 @@ let g:netrw_winsize = 20 | " window size in percent | |||
967 | " ====================================================================================================================== | 957 | " ====================================================================================================================== |
968 | 958 | ||
969 | function! ExtendColorTheme() | 959 | function! ExtendColorTheme() |
970 | " let g:status_fg=synIDattr(hlID('Cursor'), 'fg#') | 960 | filetype on |
971 | " let g:status_bg=synIDattr(hlID('Cursor'), 'bg#') | 961 | filetype plugin on |
972 | " let g:status_sel=synIDattr(hlID('Text'), 'fg#') | 962 | filetype indent on |
973 | " let g:status_sel='#ffffff' | 963 | |
974 | let g:status_fg='#00aa00' | 964 | syntax on | " enable syntax highlighting |
975 | let g:status_bg='#000000' | 965 | syntax sync minlines=60 | " how many preceding lines will be parsed? (has performance impact) |
976 | let g:status_sel='#ffff00' | 966 | |
967 | highlight! SignifySignAdd ctermbg=NONE | ||
968 | highlight! Bold cterm=bold gui=bold | ||
969 | highlight! Italic cterm=italic gui=italic | ||
970 | highlight! Underline cterm=underline gui=underline | ||
971 | highlight! BoldUnderline cterm=bold,underline gui=bold,underline | ||
972 | highlight! BoldItalic cterm=bold,Italic gui=Bold,Italic | ||
973 | highlight! Todo cterm=bold gui=bold guibg=#ffffaa guifg=#000000 | ||
974 | highlight! Error ctermbg=NONE guibg=NONE | ||
975 | highlight! SpellBad cterm=NONE gui=undercurl guibg=NONE guifg=red | ||
976 | |||
977 | |||
978 | highlight! link SpecialKey NonText | " makes tab stop (see listchars) less disturbing | ||
979 | highlight! link EndOfBuffer Ignore | ||
980 | highlight! link WildMenu Search | ||
981 | highlight! link Convention Error | ||
982 | highlight! link YcmErrorSign SpellBad | ||
983 | highlight! link YcmWarningSign Spellbad | ||
984 | highlight! link SignifySignAdd SignColumn | ||
985 | highlight! link SignifySignChange SignColumn | ||
986 | highlight! link SignifySignDelete SignColumn | ||
987 | highlight! link SignifySignChangeDelete SignColumn | ||
988 | highlight! link SignifySignDeleteFirstLine SignColumn | ||
989 | highlight! link VertSplit NonText | ||
990 | highlight! link LineNr Comment | ||
991 | highlight! link Folded LineNr | ||
992 | highlight! link SignColumn Comment | ||
993 | highlight! link FoldColumn Comment | ||
994 | highlight! link PmenuSbar Pmenu | ||
995 | highlight! PmenuThumb cterm=inverse | ||
996 | highlight! MoreMsg cterm=inverse | ||
997 | |||
998 | autocmd InsertEnter * silent! call matchdelete(101) | ||
999 | autocmd InsertLeave * silent! call matchadd('Convention', ' \+$', -1, 101, { 'conceal': '⟶' }) | ||
1000 | |||
1001 | autocmd InsertEnter * set colorcolumn=80,120 | ||
1002 | autocmd InsertLeave * set colorcolumn& | ||
977 | 1003 | ||
978 | " execute 'highlight! StatusLine' | 1004 | " execute 'highlight! StatusLine' |
979 | " \ .' guibg=NONE' | 1005 | " \ .' guibg=NONE' |
980 | " \ .' guifg='.g:status_bg | 1006 | " \ .' guifg='.g:status_bg |
981 | " \ .' gui=inverse' | 1007 | " \ .' gui=inverse' |
982 | 1008 | " let g:status_fg=synIDattr(hlID('Cursor'), 'fg#') | |
1009 | " let g:status_bg=synIDattr(hlID('Cursor'), 'bg#') | ||
1010 | " let g:status_sel=synIDattr(hlID('Text'), 'fg#') | ||
1011 | " let g:status_sel='#ffffff' | ||
983 | " " execute 'highlight! User1 gui=NONE' | 1012 | " " execute 'highlight! User1 gui=NONE' |
984 | " execute 'highlight! User1 guibg='.g:status_sel | 1013 | " execute 'highlight! User1 guibg='.g:status_sel |
985 | " execute 'highlight! User1 guifg='.g:status_fg | 1014 | " execute 'highlight! User1 guifg='.g:status_fg |
986 | |||
987 | " execute 'highlight! User2 gui=NONE' | 1015 | " execute 'highlight! User2 gui=NONE' |
988 | " execute 'highlight! User2 guibg='.g:status_sel | 1016 | " execute 'highlight! User2 guibg='.g:status_sel |
989 | " execute 'highlight! User2 guifg=NONE' | 1017 | " execute 'highlight! User2 guifg=NONE' |
990 | |||
991 | |||
992 | filetype on | ||
993 | filetype plugin on | ||
994 | filetype indent on | ||
995 | |||
996 | syntax on | " enable syntax highlighting | ||
997 | syntax sync minlines=60 | " how many preceding lines will be parsed? (has performance impact) | ||
998 | |||
999 | " use the default terminal background color as background (allows transparency) | 1018 | " use the default terminal background color as background (allows transparency) |
1000 | " highlight! Normal guibg=NONE ctermbg=NONE | 1019 | " highlight! Normal guibg=NONE ctermbg=NONE |
1001 | " highlight! NonText guibg=NONE guifg=black ctermbg=NONE ctermfg=black | 1020 | " highlight! NonText guibg=NONE guifg=black ctermbg=NONE ctermfg=black |
1002 | 1021 | " makes the ~ (tilde) indicator invisible, which usually marks the EOF | |
1003 | " make the ~ (tilde) indicator invisible, which usually marks the EOF | 1022 | " highlight! CursorLineNr cterm=inverse | " ctermbg=black ctermfg=NONE |
1004 | highlight! link EndOfBuffer Ignore | 1023 | " highlight! Pmenu ctermbg=LightYellow ctermfg=DarkGrey |
1005 | 1024 | " highlight! PmenuSel ctermbg=blue ctermfg=LightYellow cterm=bold | |
1006 | highlight! CursorLineNr cterm=inverse | " ctermbg=black ctermfg=NONE | ||
1007 | highlight! Pmenu ctermbg=LightYellow ctermfg=DarkGrey | ||
1008 | highlight! PmenuSel ctermbg=blue ctermfg=LightYellow cterm=bold | ||
1009 | |||
1010 | highlight! link PmenuSbar Pmenu | ||
1011 | highlight! PmenuThumb cterm=inverse | ||
1012 | highlight! MoreMsg cterm=inverse | ||
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 | 1025 | " highlight! Folded ctermbg=NONE |
1019 | " highlight! Cursor guibg=#729fcf ctermbg=yellow | 1026 | " highlight! Cursor guibg=#729fcf ctermbg=yellow |
1020 | highlight! link VertSplit NonText | ||
1021 | " highlight! SpellBad ctermbg=none | 1027 | " highlight! SpellBad ctermbg=none |
1022 | highlight! SpecialKey ctermfg=19 | 1028 | " highlight! SpecialKey ctermfg=19 |
1023 | highlight! WhiteSpace ctermfg=19 | 1029 | " highlight! WhiteSpace ctermfg=19 |
1024 | |||
1025 | " highlight! link TabLine LineNr | 1030 | " highlight! link TabLine LineNr |
1026 | " highlight! TabLineSel ctermbg=blue ctermfg=black | 1031 | " highlight! TabLineSel ctermbg=blue ctermfg=black |
1027 | " highlight! link TabLineFill LineNr | 1032 | " highlight! link TabLineFill LineNr |
1028 | highlight! Search ctermbg=LightYellow ctermfg=12 guibg=#fefd86 guifg=#222222 | 1033 | " highlight! Search ctermbg=LightYellow ctermfg=12 guibg=#fefd86 guifg=#222222 |
1029 | highlight! link WildMenu Search | ||
1030 | |||
1031 | " generic, which should exist but don't | 1034 | " generic, which should exist but don't |
1032 | highlight! SignifySignAdd ctermbg=NONE | ||
1033 | highlight! Bold cterm=bold gui=bold | ||
1034 | highlight! Italic cterm=italic gui=italic | ||
1035 | highlight! Underline cterm=underline gui=underline | ||
1036 | highlight! BoldUnderline cterm=bold,underline gui=bold,underline | ||
1037 | highlight! BoldItalic cterm=Bold,Italic gui=Bold,Italic | ||
1038 | |||
1039 | " make tab stop (see listchars) less disturbing... | ||
1040 | highlight! link SpecialKey NonText | ||
1041 | |||
1042 | " highlight! link LightlineMiddle_tabline ColorColumn | ||
1043 | " highlight! link LightlineLeft_tabline_1 ColorColumn | ||
1044 | " highlight! link LightlineLeft_tabline_0_1 ColorColumn | ||
1045 | |||
1046 | highlight! Todo guibg=#ffffaa guifg=#000000 gui=bold term=bold | ||
1047 | highlight! cStatement guifg=red gui=bold term=bold | ||
1048 | |||
1049 | highlight! link Convention Error | ||
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 | |||
1062 | " autocmd InsertLeave * call matchadd('Conceal', ' \+$', -1, 101, { 'conceal': '⟶' }) | 1035 | " autocmd InsertLeave * call matchadd('Conceal', ' \+$', -1, 101, { 'conceal': '⟶' }) |
1063 | autocmd InsertEnter * silent! call matchdelete(101) | ||
1064 | autocmd InsertLeave * silent! call matchadd('Convention', ' \+$', -1, 101, { 'conceal': '⟶' }) | ||
1065 | |||
1066 | " Show trailing whitepace and spaces before a tab as part of the syntax highlighting | 1036 | " Show trailing whitepace and spaces before a tab as part of the syntax highlighting |
1067 | " autocmd BufEnter,InsertLeave * syntax match Convention /\s\+$\| \+\ze\t/ containedin=ALL | 1037 | " autocmd BufEnter,InsertLeave * syntax match Convention /\s\+$\| \+\ze\t/ containedin=ALL |
1068 | " autocmd Syntax * syntax match Convention /\s\+$\| \+\ze\t/ containedin=ALL | 1038 | " autocmd Syntax * syntax match Convention /\s\+$\| \+\ze\t/ containedin=ALL |
1069 | " autocmd BufEnter,BufWritePost * syntax match Convention /\s\+$\| \+\ze\t/ containedin=ALL | 1039 | " autocmd BufEnter,BufWritePost * syntax match Convention /\s\+$\| \+\ze\t/ containedin=ALL |
1070 | " autocmd InsertEnter * syntax clear Convention | 1040 | " autocmd InsertEnter * syntax clear Convention |
1071 | " autocmd BufEnter,InsertLeave * execute ':syntax match Convention /\%>'.&textwidth.'v./ containedin=ALL' | 1041 | " autocmd BufEnter,InsertLeave * execute ':syntax match Convention /\%>'.&textwidth.'v./ containedin=ALL' |
1072 | |||
1073 | autocmd InsertEnter * set colorcolumn=80,120 | ||
1074 | autocmd InsertLeave * set colorcolumn& | ||
1075 | " set colorcolumn= | " not used, because we have a :match directive for textwidth | 1042 | " set colorcolumn= | " not used, because we have a :match directive for textwidth |
1076 | " | ||
1077 | " if argc() == 0 | 1043 | " if argc() == 0 |
1078 | " rv | 1044 | " rv |
1079 | " autocmd VimEnter * split +bro\ ol | 1045 | " autocmd VimEnter * split +bro\ ol |
@@ -1113,11 +1079,6 @@ nnoremap Q !!$SHELL<CR> | |||
1113 | " ====================================================================================================================== | 1079 | " ====================================================================================================================== |
1114 | " TESTING: | 1080 | " TESTING: |
1115 | " ====================================================================================================================== | 1081 | " ====================================================================================================================== |
1116 | " avoids openin an empty buffer when restoring bufferlist from viminfo... | ||
1117 | " if argc() == 0 | ||
1118 | " silent autocmd VimEnter * nested :silent bun | ||
1119 | " endif | ||
1120 | |||
1121 | autocmd TextYankPost * echo '> text yanked to '.( | 1082 | autocmd TextYankPost * echo '> text yanked to '.( |
1122 | \ get(v:event,'regname') == '' | 1083 | \ get(v:event,'regname') == '' |
1123 | \ ? 'default register' | 1084 | \ ? 'default register' |
@@ -1158,15 +1119,15 @@ augroup status | |||
1158 | let g:symbol_branch = '' | 1119 | let g:symbol_branch = '' |
1159 | 1120 | ||
1160 | if &term == "linux" | 1121 | if &term == "linux" |
1161 | let g:symbol_branch = '' | 1122 | let g:symbol_branch = '' |
1162 | 1123 | ||
1163 | let g:group_active = "StatusLineTerm" | 1124 | let g:group_active = "StatusLineTerm" |
1164 | let g:group_inactive = "StatusLineTermNC" | 1125 | let g:group_inactive = "StatusLineTermNC" |
1165 | let g:group_tabline = "StatusLineTerm" | 1126 | let g:group_tabline = "StatusLineTerm" |
1166 | else | 1127 | else |
1167 | let g:group_active = "StatusLine" | 1128 | let g:group_active = "StatusLine" |
1168 | let g:group_inactive = "StatusLineNC" | 1129 | let g:group_inactive = "StatusLineNC" |
1169 | let g:group_tabline = "TabLine" | 1130 | let g:group_tabline = "TabLine" |
1170 | endif | 1131 | endif |
1171 | 1132 | ||
1172 | " this function reverts foreground color and background color of a given | 1133 | " this function reverts foreground color and background color of a given |
@@ -1204,13 +1165,12 @@ augroup status | |||
1204 | return '' | 1165 | return '' |
1205 | \ ."%#StatusLineHighlight#" | 1166 | \ ."%#StatusLineHighlight#" |
1206 | \ ."%#".a:highlight_group."#" | 1167 | \ ."%#".a:highlight_group."#" |
1207 | \ ."%(%w%h%q%)".' '.l:mode.' ' | 1168 | \ ."%(%w%h%q%)".' '.l:mode.' '.g:status_sym_sep_start.' ' |
1208 | \ .g:status_sym_sep_start.' ' | ||
1209 | \ ."%{(argc()>0\ ?\ argidx()+1.':'.argc().' '.g:status_sym_sep_start.' '\ :\ '')}" | 1169 | \ ."%{(argc()>0\ ?\ argidx()+1.':'.argc().' '.g:status_sym_sep_start.' '\ :\ '')}" |
1210 | \ ."%{winbufnr(0).' '.g:status_sym_sep_start}" | 1170 | \ ."%{winbufnr(0).' '.g:status_sym_sep_start}" |
1211 | \ ."%{(&readonly\ ?\ '\ \ \ '\ :\ '')}" | 1171 | \ ."%{(&readonly\ ?\ '\ \ 🔒'\ :\ '')}" |
1212 | \ ."%{(&modified\ ?\ '\ \ '.nr2char(0xF0C7).'\ '\ :\ '')\ }" | 1172 | \ ."%{(&modified\ ?\ '\ \ '.nr2char(0xF0C7).'\ '\ :\ '')\ }" |
1213 | \ ."%{(haslocaldir() ?\ ' '.fnamemodify(getcwd(),\ ':.').' '.nr2char(0xe0b1)\ \:\ '')}\ " | 1173 | \ ."%{(haslocaldir() ?\ fnamemodify(getcwd(),\ ':.').' '.nr2char(0xe0b1)\ \:\ '')}\ " |
1214 | \ ."%{(&buftype\ ==\ \"terminal\"\ ?\ has('nvim')?b:term_title:expand(&titlestring)\ :\ substitute(expand('%:p'),\ '^'.getcwd(-1).'/*',\ '',\ ''))\ }" | 1174 | \ ."%{(&buftype\ ==\ \"terminal\"\ ?\ has('nvim')?b:term_title:expand(&titlestring)\ :\ substitute(expand('%:p'),\ '^'.getcwd(-1).'/*',\ '',\ ''))\ }" |
1215 | \ ."%1(%)" | 1175 | \ ."%1(%)" |
1216 | \ ."%#".l:invert_group."#" | 1176 | \ ."%#".l:invert_group."#" |
@@ -1237,8 +1197,8 @@ augroup status | |||
1237 | let l:invert_group = CreateInvertGroup(a:highlight_group) | 1197 | let l:invert_group = CreateInvertGroup(a:highlight_group) |
1238 | return '' | 1198 | return '' |
1239 | \ ."%#".a:highlight_group."#" | 1199 | \ ."%#".a:highlight_group."#" |
1240 | \ ."%3( \ %)" | 1200 | \ ."%3( \ %)\ " |
1241 | \ ."%{getcwd(-1)}" | 1201 | \ ."%{getcwd(-1)}\ " |
1242 | \ .g:status_sym_sep_start.' ' | 1202 | \ .g:status_sym_sep_start.' ' |
1243 | \ ."%(\ ".g:symbol_branch."\ %{fugitive#head()}\ %)" | 1203 | \ ."%(\ ".g:symbol_branch."\ %{fugitive#head()}\ %)" |
1244 | \ ."%#".l:invert_group."#" | 1204 | \ ."%#".l:invert_group."#" |