Disable airline and enable lightline for status line
This commit is contained in:
		
							parent
							
								
									34e2b79763
								
							
						
					
					
						commit
						d4aaa38b53
					
				
							
								
								
									
										195
									
								
								vimrc
								
								
								
								
							
							
						
						
									
										195
									
								
								vimrc
								
								
								
								
							|  | @ -228,8 +228,10 @@ Plugin 'rodjek/vim-puppet' | |||
| " Auto alignment (for Puppet for example) | ||||
| Plugin 'godlygeek/tabular' | ||||
| 
 | ||||
| " A pretty statusline | ||||
| Plugin 'bling/vim-airline' | ||||
| " A pretty statusline, bufferline integration | ||||
| Plugin 'itchyny/lightline.vim' | ||||
| Plugin 'bling/vim-bufferline' | ||||
| "Plugin 'bling/vim-airline' | ||||
| "Bundle 'edkolev/tmuxline.vim' | ||||
| 
 | ||||
| " Give viual aid to navigate marks | ||||
|  | @ -266,6 +268,20 @@ if has_vundle == 0 | |||
|   ":qa | ||||
| endif | ||||
| 
 | ||||
| """ User interface {{{ | ||||
|     """ Custom highlighting, where NONE uses terminal background {{{ | ||||
| function! CustomHighlighting() | ||||
|   highlight Normal      ctermbg=NONE | ||||
|   highlight NonText     ctermbg=NONE | ||||
|   highlight LineNr      ctermbg=NONE | ||||
|   highlight SignColumn  ctermbg=NONE | ||||
|   highlight SignColumn  guibg=#151515 | ||||
|   highlight CursorLine  ctermbg=235 | ||||
| endfunction | ||||
| 
 | ||||
| call CustomHighlighting() | ||||
|     """ }}} | ||||
| """ }}} | ||||
| 
 | ||||
| "########################## | ||||
| " SnipMate | ||||
|  | @ -380,15 +396,15 @@ let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*' | |||
| "Plugin 'bling/vim-airline' | ||||
| 
 | ||||
| " Toujours afficher la barre de statut | ||||
| set laststatus=2                                     " always show statusline | ||||
| " Smarter tab line | ||||
| let g:airline#extensions#tabline#enabled = 1 | ||||
| "let g:airline#extensions#tabline#left_sep = 'ˇ' | ||||
| "let g:airline#extensions#tabline#left_alt_sep = 'v' | ||||
| let g:airline_powerline_fonts = 1 | ||||
| "let g:airline_theme='molokai' | ||||
| "let g:airline_theme='lucius' | ||||
| let g:airline_theme='monochrome' | ||||
| "set laststatus=2                                     " always show statusline | ||||
| "" Smarter tab line | ||||
| "let g:airline#extensions#tabline#enabled = 1 | ||||
| ""let g:airline#extensions#tabline#left_sep = 'ˇ' | ||||
| ""let g:airline#extensions#tabline#left_alt_sep = 'v' | ||||
| "let g:airline_powerline_fonts = 1 | ||||
| ""let g:airline_theme='molokai' | ||||
| ""let g:airline_theme='lucius' | ||||
| "let g:airline_theme='monochrome' | ||||
| 
 | ||||
| "########################## | ||||
| " Tmuxline : | ||||
|  | @ -396,6 +412,163 @@ let g:airline_theme='monochrome' | |||
| " https://github.com/edkolev/tmuxline.vim | ||||
| "Plugin 'edkolev/tmuxline.vim' | ||||
| 
 | ||||
| "########################## | ||||
| " Lightline : | ||||
| "########################## | ||||
| """ Lightline {{{ | ||||
| 
 | ||||
| set laststatus=2                                     " always show statusline | ||||
| let g:lightline = { | ||||
|   \ 'colorscheme': 'jellybeans', | ||||
|   \ 'active': { | ||||
|   \     'left': [ | ||||
|   \         ['mode', 'paste'], | ||||
|   \         ['readonly', 'fugitive'], | ||||
|   \         ['ctrlpmark', 'bufferline'] | ||||
|   \     ], | ||||
|   \     'right': [ | ||||
|   \         ['lineinfo'], | ||||
|   \         ['percent'], | ||||
|   \         ['fileformat', 'fileencoding', 'filetype', 'syntastic'] | ||||
|   \     ] | ||||
|   \ }, | ||||
|   \ 'component': { | ||||
|   \     'paste': '%{&paste?"!":""}' | ||||
|   \ }, | ||||
|   \ 'component_function': { | ||||
|   \     'mode'         : 'MyMode', | ||||
|   \     'fugitive'     : 'MyFugitive', | ||||
|   \     'readonly'     : 'MyReadonly', | ||||
|   \     'ctrlpmark'    : 'CtrlPMark', | ||||
|   \     'bufferline'   : 'MyBufferline', | ||||
|   \     'fileformat'   : 'MyFileformat', | ||||
|   \     'fileencoding' : 'MyFileencoding', | ||||
|   \     'filetype'     : 'MyFiletype' | ||||
|   \ }, | ||||
|   \ 'component_expand': { | ||||
|   \     'syntastic': 'SyntasticStatuslineFlag', | ||||
|   \ }, | ||||
|   \ 'component_type': { | ||||
|   \     'syntastic': 'middle', | ||||
|   \ }, | ||||
|   \ 'subseparator': { | ||||
|   \     'left': 'ᑄ', 'right': 'ᑁ' | ||||
|   \ } | ||||
|   \ } | ||||
| 
 | ||||
| let g:lightline.mode_map = { | ||||
|   \ 'n'      : ' Normal ', | ||||
|   \ 'i'      : ' Insert ', | ||||
|   \ 'R'      : ' Replace ', | ||||
|   \ 'v'      : ' Visual ', | ||||
|   \ 'V'      : 'Visual-L', | ||||
|   \ 'c'      : ' C ', | ||||
|   \ "\<C-v>" : 'Visual-B', | ||||
|   \ 's'      : ' Sub ', | ||||
|   \ 'S'      : 'Sub-L', | ||||
|   \ "\<C-s>" : 'Sub-B', | ||||
|   \ '?'      : '      ' } | ||||
| 
 | ||||
|         function! MyMode() | ||||
|             let fname = expand('%:t') | ||||
|             return fname == '__Tagbar__' ? 'Tagbar' : | ||||
|                     \ fname == 'ControlP' ? 'CtrlP' : | ||||
|                     \ winwidth('.') > 60 ? lightline#mode() : '' | ||||
|         endfunction | ||||
| 
 | ||||
|         function! MyFugitive() | ||||
|             try | ||||
|                 if expand('%:t') !~? 'Tagbar' && exists('*fugitive#head') | ||||
|                     let mark = '± ' | ||||
|                     let _ = fugitive#head() | ||||
|                     return strlen(_) ? mark._ : '' | ||||
|                 endif | ||||
|             catch | ||||
|             endtry | ||||
|             return '' | ||||
|         endfunction | ||||
| 
 | ||||
|         function! MyReadonly() | ||||
|             return &ft !~? 'help' && &readonly ? '≠' : '' " or ⭤ | ||||
|         endfunction | ||||
| 
 | ||||
|         function! CtrlPMark() | ||||
|             if expand('%:t') =~ 'ControlP' | ||||
|                 call lightline#link('iR'[g:lightline.ctrlp_regex]) | ||||
|                 return lightline#concatenate([g:lightline.ctrlp_prev, g:lightline.ctrlp_item | ||||
|                     \ , g:lightline.ctrlp_next], 0) | ||||
|             else | ||||
|                 return '' | ||||
|             endif | ||||
|         endfunction | ||||
| 
 | ||||
|         function! MyBufferline() | ||||
|             call bufferline#refresh_status() | ||||
|             let b = g:bufferline_status_info.before | ||||
|             let c = g:bufferline_status_info.current | ||||
|             let a = g:bufferline_status_info.after | ||||
|             let alen = strlen(a) | ||||
|             let blen = strlen(b) | ||||
|             let clen = strlen(c) | ||||
|             let w = winwidth(0) * 4 / 11 | ||||
|             if w < alen+blen+clen | ||||
|                 let whalf = (w - strlen(c)) / 2 | ||||
|                 let aa = alen > whalf && blen > whalf ? a[:whalf] : alen + blen < w - clen || alen < whalf ? a : a[:(w - clen - blen)] | ||||
|                 let bb = alen > whalf && blen > whalf ? b[-(whalf):] : alen + blen < w - clen || blen < whalf ? b : b[-(w - clen - alen):] | ||||
|                 return (strlen(bb) < strlen(b) ? '...' : '') . bb . c . aa . (strlen(aa) < strlen(a) ? '...' : '') | ||||
|             else | ||||
|                 return b . c . a | ||||
|             endif | ||||
|         endfunction | ||||
| 
 | ||||
|         function! MyFileformat() | ||||
|             return winwidth('.') > 90 ? &fileformat : '' | ||||
|         endfunction | ||||
| 
 | ||||
|         function! MyFileencoding() | ||||
|             return winwidth('.') > 80 ? (strlen(&fenc) ? &fenc : &enc) : '' | ||||
|         endfunction | ||||
| 
 | ||||
|         function! MyFiletype() | ||||
|             return winwidth('.') > 70 ? (strlen(&filetype) ? &filetype : 'no ft') : '' | ||||
|         endfunction | ||||
| 
 | ||||
|         let g:ctrlp_status_func = { | ||||
|             \ 'main': 'CtrlPStatusFunc_1', | ||||
|             \ 'prog': 'CtrlPStatusFunc_2', | ||||
|             \ } | ||||
| 
 | ||||
|         function! CtrlPStatusFunc_1(focus, byfname, regex, prev, item, next, marked) | ||||
|             let g:lightline.ctrlp_regex = a:regex | ||||
|             let g:lightline.ctrlp_prev = a:prev | ||||
|             let g:lightline.ctrlp_item = a:item | ||||
|             let g:lightline.ctrlp_next = a:next | ||||
|             return lightline#statusline(0) | ||||
|         endfunction | ||||
| 
 | ||||
|         function! CtrlPStatusFunc_2(str) | ||||
|             return lightline#statusline(0) | ||||
|         endfunction | ||||
| 
 | ||||
|         let g:tagbar_status_func = 'TagbarStatusFunc' | ||||
| 
 | ||||
|         function! TagbarStatusFunc(current, sort, fname, ...) abort | ||||
|             let g:lightline.fname = a:fname | ||||
|             return lightline#statusline(0) | ||||
|         endfunction | ||||
| 
 | ||||
|         function! s:syntastic() | ||||
|             SyntasticCheck | ||||
|             call lightline#update() | ||||
|         endfunction | ||||
| 
 | ||||
|         augroup AutoSyntastic | ||||
|             autocmd! | ||||
|             execute "autocmd FileType " . | ||||
|                         \join(g:syntastic_mode_map["active_filetypes"], ",") . | ||||
|                         \" autocmd BufWritePost <buffer> :call s:syntastic()" | ||||
|         augroup END | ||||
|     """ }}} | ||||
| """""""""""""""""""""""""""""""""""""""""""""""" | ||||
| " Paramétrage de exuberant-ctags | ||||
| "http://ngressier.developpez.com/articles/vim/vim-plugin-taglist/#LC | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue