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
Block a user