diff options
author | Max Christian Pohle | 2018-11-20 23:56:02 +0100 |
---|---|---|
committer | Max Christian Pohle | 2018-11-20 23:56:02 +0100 |
commit | 9e36bdf1a060a2ffcb0172eb42e954c475ec3f70 (patch) | |
tree | 9ec87e653e13b4fc077789d028e22e9576dabbf1 | |
parent | a693df562838c3f93fcb6055359091aab834c8e2 (diff) | |
download | vim-9e36bdf1a060a2ffcb0172eb42e954c475ec3f70.tar.bz2 vim-9e36bdf1a060a2ffcb0172eb42e954c475ec3f70.zip |
Improved Tab/Statusline, e.g. fixed spacing
also added <leader>gh for c files, guess what that does ;)
-rw-r--r-- | after/syntax/c.vim | 6 | ||||
-rw-r--r-- | plugin/statusline.vim | 62 |
2 files changed, 38 insertions, 30 deletions
diff --git a/after/syntax/c.vim b/after/syntax/c.vim index 0bacea0..cbdd42b 100644 --- a/after/syntax/c.vim +++ b/after/syntax/c.vim | |||
@@ -29,6 +29,12 @@ let g:load_doxygen_syntax=1 | |||
29 | set formatoptions+=j " Where it makes sense, remove a comment leader when joining lines. | 29 | set formatoptions+=j " Where it makes sense, remove a comment leader when joining lines. |
30 | set formatoptions+=1 " Don't break a line after a one-letter word. | 30 | set formatoptions+=1 " Don't break a line after a one-letter word. |
31 | 31 | ||
32 | |||
33 | |||
34 | " open a corresponding header file | ||
35 | nnorem <leader>gh :execute 'edit '.findfile(substitute(expand('%:t'),'\.[ch]$','.h',''))<CR> | ||
36 | |||
37 | |||
32 | " multiple single line comments in a row " broken! | 38 | " multiple single line comments in a row " broken! |
33 | " syn region myCComment start="/\*" end="\*/" fold keepend transparent | 39 | " syn region myCComment start="/\*" end="\*/" fold keepend transparent |
34 | 40 | ||
diff --git a/plugin/statusline.vim b/plugin/statusline.vim index 98fc4a9..7bcc963 100644 --- a/plugin/statusline.vim +++ b/plugin/statusline.vim | |||
@@ -2,22 +2,26 @@ augroup MAX_FANCYLINE | |||
2 | set noshowmode | " mode will be shown twice, in lightline and below, so we want to deactivate one | 2 | set noshowmode | " mode will be shown twice, in lightline and below, so we want to deactivate one |
3 | set laststatus=2 | " required by AirLine and Lightline, without status line does not appear until a window split | 3 | set laststatus=2 | " required by AirLine and Lightline, without status line does not appear until a window split |
4 | 4 | ||
5 | let g:status_sym_start = '' | 5 | let g:status_sym_start = '' |
6 | let g:status_sym_end = '' | 6 | let g:status_sym_end = '' |
7 | let g:status_sym_sep_start = '' | 7 | let g:status_sym_sep_start = '᎒' |
8 | let g:status_sym_sep_end = '' | 8 | let g:status_sym_sep_end = '᎒' |
9 | let g:symbol_branch = '' | 9 | let g:symbol_branch = '' |
10 | 10 | ||
11 | if &term == "linux" | 11 | if &term == "linux" |
12 | let g:symbol_branch = '' | 12 | let g:status_sym_start = '' |
13 | let g:status_sym_end = '' | ||
14 | let g:status_sym_sep_start = '' | ||
15 | let g:status_sym_sep_end = '' | ||
16 | let g:symbol_branch = '' | ||
13 | 17 | ||
14 | let g:group_active = "StatusLineTerm" | 18 | let g:group_active = "StatusLineTerm" |
15 | let g:group_inactive = "StatusLineTermNC" | 19 | let g:group_inactive = "StatusLineTermNC" |
16 | let g:group_tabline = "StatusLineTerm" | 20 | let g:group_tabline = "StatusLineTerm" |
17 | else | 21 | else |
18 | let g:group_active = "StatusLine" | 22 | let g:group_active = "StatusLine" |
19 | let g:group_inactive = "StatusLineNC" | 23 | let g:group_inactive = "StatusLineNC" |
20 | let g:group_tabline = "TabLine" | 24 | let g:group_tabline = "TabLine" |
21 | endif | 25 | endif |
22 | 26 | ||
23 | " this function reverts foreground color and background color of a given | 27 | " this function reverts foreground color and background color of a given |
@@ -55,14 +59,14 @@ augroup MAX_FANCYLINE | |||
55 | return '' | 59 | return '' |
56 | \ ."%#StatusLineHighlight#" | 60 | \ ."%#StatusLineHighlight#" |
57 | \ ."%#".a:highlight_group."#" | 61 | \ ."%#".a:highlight_group."#" |
58 | \ ."%(%w%h%q%)".' '.l:mode.' '.g:status_sym_sep_start.' ' | ||
59 | \ ."%{(argc()>0\ ?\ argidx()+1.':'.argc().' '.g:status_sym_sep_start.' '\ :\ '')}" | ||
60 | \ ."%{winbufnr(0).' '.g:status_sym_sep_start}" | ||
61 | \ ."%{(&readonly\ ?\ '\ \ 🔒'\ :\ '')}" | 62 | \ ."%{(&readonly\ ?\ '\ \ 🔒'\ :\ '')}" |
62 | \ ."%{(&modified\ ?\ '\ \ '.nr2char(0xF0C7).'\ '\ :\ '')\ }" | 63 | \ ."%{(&modified\ ?\ '\ \ '\ :\ '')}" |
63 | \ ."%{(haslocaldir() ?\ fnamemodify(getcwd(),\ ':.').' '.nr2char(0xe0b1)\ \:\ '')}\ " | 64 | \ ."%(%w%h%q%)".' '.l:mode.' ' |
64 | \ ."%{(&buftype\ ==\ \"terminal\"\ ?\ has('nvim')?b:term_title:expand(&titlestring)\ :\ substitute(expand('%:p'),\ '^'.getcwd(-1).'/*',\ '',\ ''))\ }" | 65 | \ ."%{(argc()>0\ ?\ argidx()+1.':'.argc().' '.g:status_sym_sep_start.' '\ :\ '')}" |
65 | \ ."%1(%)" | 66 | \ ."%{(haslocaldir() ?\ g:status_sym_sep_start.' '.fnamemodify(getcwd(),\ ':.').'/ '\ \:\ '')}\ " |
67 | \ ."%{bufname('%')==''?'':g:status_sym_sep_start.' '.substitute(bufname('%'),\ '^'.getcwd(-1).'/*',\ '',\ '').' '}" | ||
68 | \ ."%{(&titlestring\ ?\ has('nvim')?b:term_title:expand(&titlestring):'')\ }" | ||
69 | \ ."%{g:status_sym_sep_start.' '.winbufnr(0).' '}" | ||
66 | \ ."%#".l:invert_group."#" | 70 | \ ."%#".l:invert_group."#" |
67 | \ .g:status_sym_end | 71 | \ .g:status_sym_end |
68 | \ .'' | 72 | \ .'' |
@@ -71,26 +75,24 @@ augroup MAX_FANCYLINE | |||
71 | \ ."%#".l:invert_group."#" | 75 | \ ."%#".l:invert_group."#" |
72 | \ .g:status_sym_start | 76 | \ .g:status_sym_start |
73 | \ ."%#".a:highlight_group."#" | 77 | \ ."%#".a:highlight_group."#" |
74 | \ ."%1(%)" | 78 | \ ."%{&buftype==''?'':' '.&buftype.' '.g:status_sym_sep_start.' '}" |
75 | \ ."%{(&filetype\ !=\ ''\ ?\ &filetype\ :\ &buftype)}" | 79 | \ ."%{&filetype==''?'':' '.&filetype.' '.g:status_sym_sep_start.' '}" |
76 | \ ."%(\ %{g:status_sym_sep_end}\ %)" | ||
77 | \ ."%{(&spell\ ?\ &spelllang.' '.g:status_sym_sep_end\ :\ '')}" | 80 | \ ."%{(&spell\ ?\ &spelllang.' '.g:status_sym_sep_end\ :\ '')}" |
78 | \ ."%{(&fileencoding\ !=\ ''\ ?\ &fileencoding.' '.g:status_sym_sep_end.' '\ :\ '')}" | 81 | \ ."%{(&fileencoding=~'^$\\|^utf\-8$'?'':&fileencoding.' '.g:status_sym_sep_end.' ')}" |
79 | \ ."%{(&fileformat\ !=\ ''\ ?\ ' '.&fileformat.' '\ :\ '')}" | 82 | \ ."%{(&fileformat=~'^$\\|^unix$'?'':&fileformat.' '.g:status_sym_sep_end)}" |
80 | \ .g:status_sym_sep_end.' ' | 83 | \ ."%l:%-3c" |
81 | \ ."%4l:%-3c" | ||
82 | \ .g:status_sym_sep_end.' ' | 84 | \ .g:status_sym_sep_end.' ' |
83 | \ ."%-3p%%" | 85 | \ ."%p%% " |
84 | endfunction | 86 | endfunction |
85 | 87 | ||
86 | function! UpdateTabline(highlight_group) | 88 | function! UpdateTabline(highlight_group) |
87 | let l:invert_group = CreateInvertGroup(a:highlight_group) | 89 | let l:invert_group = CreateInvertGroup(a:highlight_group) |
90 | let l:git_branch = FugitiveHead() | ||
88 | return '' | 91 | return '' |
89 | \ ."%#".a:highlight_group."#" | 92 | \ ."%#".a:highlight_group."#" |
90 | \ ."%3( \ %)\ " | 93 | \ ."%3( \ %)\ " |
91 | \ ."%{getcwd(-1)}\ " | 94 | \ ."%{getcwd(-1)}\ " |
92 | \ .g:status_sym_sep_start.' ' | 95 | \ ."%{FugitiveHead()==''?'':g:status_sym_sep_start.' '.g:symbol_branch.' '.FugitiveHead().' '}" |
93 | \ ."%(\ ".g:symbol_branch."\ %{fugitive#head()}\ %)" | ||
94 | \ ."%#".l:invert_group."#" | 96 | \ ."%#".l:invert_group."#" |
95 | \ .g:status_sym_end | 97 | \ .g:status_sym_end |
96 | \ .'' | 98 | \ .'' |
@@ -102,7 +104,7 @@ augroup MAX_FANCYLINE | |||
102 | \ ."%3(\ %)" | 104 | \ ."%3(\ %)" |
103 | \ ."%(%{v:servername}\ %{v:this_session}%)" | 105 | \ ."%(%{v:servername}\ %{v:this_session}%)" |
104 | \ .g:status_sym_sep_end.' ' | 106 | \ .g:status_sym_sep_end.' ' |
105 | \ ."%(\ \ %{tabpagenr()}/%{tabpagenr('$')}\ %)" | 107 | \ ."%(\ \ \ %{tabpagenr()}/%{tabpagenr('$')}\ %)" |
106 | \ ."%##" | 108 | \ ."%##" |
107 | \ ."" " end | 109 | \ ."" " end |
108 | endfunction | 110 | endfunction |