Tuesday, July 3, 2012

Re: VIM scrollbar

>
> I used to have this one in my .vimrc (it's based on a tip by A.Politz):
> https://groups.google.com/group/vim_use/msg/e7c193ad5dc9c136
>
> regards,
> Christian
>

I did a quick test but that give me nothing, do I miss anything?

" put following in .vimrc:

" A statusbar function, that provides a visual scrollbar (courtesy of
A.Politz)
func! STL()
let stl = '%f [%{(&fenc==""?&enc:&fenc).((exists("+bomb") &&
&bomb)?",B":"")}%M%R%H%W] %y [%l/%L,%v] [%p%%]'
let barWidth = &columns - 65 " <-- wild guess
let barWidth = barWidth < 3 ? 3 : barWidth

if line('$') > 1
let progress = (line('.')-1) * (barWidth-1) / (line('$')-1)
else
let progress = barWidth/2
endif

" line + vcol + %
let pad = strlen(line('$'))-strlen(line('.')) + 3 -
strlen(virtcol('.')) + 3 - strlen(line('.')*100/line('$'))
let bar = repeat(' ',pad).' [%1*%'.barWidth.'.'.barWidth.'('
\.repeat('-',progress )
\.'%2*0%1*'
\.repeat('-',barWidth - progress - 1).'%0*%)%<]'

return stl.bar
endfun

hi def link User1 DiffAdd
hi def link User2 DiffDelete
set stl=%!STL()

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments: