- 
      
- 
        Save ericbn/f2956cd9ec7d6bff8940c2087247b132 to your computer and use it in GitHub Desktop. 
| " Statusline (requires Powerline font) | |
| set statusline= | |
| set statusline+=%(%{&buflisted?bufnr('%'):''}\ \ %) | |
| set statusline+=%< " Truncate line here | |
| set statusline+=%f\ " File path, as typed or relative to current directory | |
| set statusline+=%{&modified?'+\ ':''} | |
| set statusline+=%{&readonly?'\ ':''} | |
| set statusline+=%= " Separation point between left and right aligned items | |
| set statusline+=\ %{&filetype!=#''?&filetype:'none'} | |
| set statusline+=%(\ %{(&bomb\|\|&fileencoding!~#'^$\\\|utf-8'?'\ '.&fileencoding.(&bomb?'-bom':''):'') | |
| \.(&fileformat!=#(has('win32')?'dos':'unix')?'\ '.&fileformat:'')}%) | |
| set statusline+=%(\ \ %{&modifiable?(&expandtab?'et\ ':'noet\ ').&shiftwidth:''}%) | |
| set statusline+=\  | |
| set statusline+=\ %{&number?'':printf('%2d,',line('.'))} " Line number | |
| set statusline+=%-2v " Virtual column number | |
| set statusline+=\ %2p%% " Percentage through file in lines as in |CTRL-G| | |
| " ------------------------ 8< ------------------------ | |
| " Statusline with highlight groups (requires Powerline font, using Solarized theme) | |
| set statusline= | |
| set statusline+=%(%{&buflisted?bufnr('%'):''}\ \ %) | |
| set statusline+=%< " Truncate line here | |
| set statusline+=%f\ " File path, as typed or relative to current directory | |
| set statusline+=%{&modified?'+\ ':''} | |
| set statusline+=%{&readonly?'\ ':''} | |
| set statusline+=%1*\ " Set highlight group to User1 | |
| set statusline+=%= " Separation point between left and right aligned items | |
| set statusline+=\ %{&filetype!=#''?&filetype:'none'} | |
| set statusline+=%(\ %{(&bomb\|\|&fileencoding!~#'^$\\\|utf-8'?'\ '.&fileencoding.(&bomb?'-bom':''):'') | |
| \.(&fileformat!=#(has('win32')?'dos':'unix')?'\ '.&fileformat:'')}%) | |
| set statusline+=%(\ \ %{&modifiable?(&expandtab?'et\ ':'noet\ ').&shiftwidth:''}%) | |
| set statusline+=\ %* " Restore normal highlight | |
| set statusline+=\ %{&number?'':printf('%2d,',line('.'))} " Line number | |
| set statusline+=%-2v " Virtual column number | |
| set statusline+=\ %2p%% " Percentage through file in lines as in |CTRL-G| | |
| " Logic for customizing the User1 highlight group is the following | |
| " - if StatusLine colors are reverse, then User1 is not reverse and User1 fg = StatusLine fg | |
| hi StatusLine cterm=reverse gui=reverse ctermfg=14 ctermbg=8 guifg=#93a1a1 guibg=#002732 | |
| hi StatusLineNC cterm=reverse gui=reverse ctermfg=11 ctermbg=0 guifg=#657b83 guibg=#073642 | |
| hi User1 ctermfg=14 ctermbg=0 guifg=#93a1a1 guibg=#073642 | 
If you use vim-sleuth, you might want to replace
set statusline+=%(\ \ %{&modifiable?(&expandtab?'et\ ':'noet\ ').&shiftwidth:''}%)
by
set statusline+=%(\ \ %{&modifiable?SleuthIndicator():''}%)
I use this instead of SleuthIndicator():
function! LightLineBufSettings()
    let et = &et ==# 1 ? "•" : "➜"
    return ('│ts│'. &tabstop . '│sw│'. &shiftwidth . '│et│' . et . '│')
endfunction
great status line configuration!
I can't get vim to load this status line on startup. i copied the code into a file under .vim/plugin/ and added a so ~/.vim/plugin/file to my .vimrc, but the status line will only load after i manually source the vimrc from within a vim session.
any idea as to why this is happening?
thanks
@jonathaw, you can set the statusline directly on your vimrc file. Only if you already made your vimrc modular, then I'd assume you know where else to put these settings.
EDIT: If no statusline appears, you should add set laststatus=2 to your vimrc too. If this still does not solve your issue, you might want to check if a plugin is not interfering.
With highlight group