Tony Mechelynck wrote: > On 19/03/09 13:08, Yakov Lerner wrote: >> >> On Tue, Mar 17, 2009 at 12:41, Yakov Lerner<iler...@gmail.com> wrote: >>> We have separae highlighting, StatusLineNC, for non-current. >>> I wish I had different *format*, too, for noncurrent statusline. I do not >>> think differnt format for non-current statusline is supported. >>> Is it possible to put this request in todo. Thanks. >> >> Found how to make it in current vim. >> Sorry for the noise. Took me time to figure it, works fine. >> >> let&statusline="Your favourite statusline" >> let g:Active_statusline=&g:statusline >> let g:NCstatusline = "%<%F" " non-current statusline >> au WinEnter * let&l:statusline = g:Active_statusline >> au WinLeave * let&l:statusline = g:NCstatusline >> >> Yakov > > Wow! Hadn't realized it was global-local. :thumbsup: > > Best regards, > Tony.
Agreed, that's quite a nice tip. I ended up using it to change the colors of the active vs inactive statusline in my already fancy statusline settings: " Colors of active statusline hi User1 guifg=#66ff66 guibg=#008000 gui=bold term=standout cterm=bold ctermfg=lightgreen ctermbg=lightgreen hi User2 guifg=#ffff60 guibg=#008000 gui=bold term=none cterm=bold ctermfg=yellow ctermbg=lightgreen " Colors or inactive statusline hi User3 guifg=#66ff66 guibg=#008000 gui=bold term=standout cterm=bold ctermfg=lightgreen ctermbg=lightgreen hi User4 guifg=#66ff66 guibg=#008000 gui=bold term=none cterm=bold ctermfg=lightgreen ctermbg=lightgreen " Function used to display syntax group. function! SyntaxItem() return synIDattr(synID(line("."),col("."),1),"name") endfunction " Function used to display utf-8 sequence. function! ShowUtf8Sequence() let p = getpos('.') redir => utfseq sil normal! g8 redir End call setpos('.', p) return substitute(matchstr(utfseq, '\x\+ .*\x'), '\<\x', '0x&', 'g') endfunction if has('statusline') if version >= 700 " Fancy status line. set statusline = set statusline+=%#User1# " highlighting set statusline+=%-2.2n\ " buffer number set statusline+=%#User2# " highlighting set statusline+=%f\ " file name set statusline+=%#User1# " highlighting set statusline+=%h%m%r%w\ " flags set statusline+=%{(&key==\"\"?\"\":\"encr,\")} " encrypted? set statusline+=%{strlen(&ft)?&ft:'none'}, " file type set statusline+=%{(&fenc==\"\"?&enc:&fenc)}, " encoding set statusline+=%{((exists(\"+bomb\")\ &&\ &bomb)?\"B,\":\"\")} " BOM set statusline+=%{&fileformat}, " file format set statusline+=%{&spelllang}, " spell language set statusline+=%{SyntaxItem()} " syntax group under cursor set statusline+=%= " indent right set statusline+=%#User2# " highlighting set statusline+=%{ShowUtf8Sequence()}\ " utf-8 sequence set statusline+=%#User1# " highlighting set statusline+=0x%B\ " char under cursor set statusline+=%-6.(%l,%c%V%)\ %<%P " position " Use different colors for statusline in current and non-current window. let g:Active_statusline=&g:statusline let g:NCstatusline=substitute( \ substitute(g:Active_statusline, \ 'User1', 'User3', 'g'), \ 'User2', 'User4', 'g') au WinEnter * let&l:statusline = g:Active_statusline au WinLeave * let&l:statusline = g:NCstatusline endif endif --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---