On Mon, Feb 21, 2011 at 7:26 PM, carlosp <[email protected]> wrote:

> Thanks a lot Jürgen! I will try it later and modify it to fit exactly my
> needs.
>
> 2011/2/21 Jürgen Krämer-4 [via VIM]
> <[hidden email] <http://user/SendEmail.jtp?type=node&node=3394165&i=0>>:
> I use the default vi settings for status line.. and it does show me the
> number of selected characters in status line on right side.. As I keep
> selecting the characters in visual mode it keeps updating the selected
> characters in status line.
>

Thanks,
Vivek Bhat

> >
> > Hi,
> >
> > carlosp wrote:
> >>
> >> Dear all, I would like to know if there is some non-baroque way of, when
>
> >> doing a selection of some text, set in the status line just the number
> of
> >> characters in the selection (and of course, when one modifies the
> >> selection,
> >> as moving the coursor in the visual mode) the status line should be
> >> updated
> >> automatically. The solutions that occurred to me involve using external
> >> commands (like wc -l) and then sending that to vim, each time I move the
>
> >> selection etc. Does anyone knows a clean way of doing such a thing?
> >
> > put the following function in your .vimrc or in a file named
> > ~/.vim/plugin/VisualSelectionSize.vim
> >
> >     function! VisualSelectionSize()
> >         if mode() == "v"
> >             " Exit and re-enter visual mode, because the marks
> >             " ('< and '>) have not been updated yet.
> >             exe "normal \<ESC>gv"
> >             if line("'<") != line("'>")
> >                 return (line("'>") - line("'<") + 1) . ' lines'
> >             else
> >                 return (col("'>") - col("'<") + 1) . ' chars'
> >             endif
> >         elseif mode() == "V"
> >             exe "normal \<ESC>gv"
> >             return (line("'>") - line("'<") + 1) . ' lines'
> >         elseif mode() == "\<C-V>"
> >             exe "normal \<ESC>gv"
> >             return (line("'>") - line("'<") + 1) . 'x' . (abs(col("'>") -
>
> > col("'<")) + 1) . ' block'
> >         else
> >             return ''
> >         endif
> >     endfunction
> >
> > and then change your 'statusline' option so that it contains
> >
> >     %{VisualSelectionSize()}
> >
> > at an appropriate place, e.g., with
> >
> >     :set statusline.=%(\ %{VisualSelectionSize()}%)
> >
> > you would append it to your current status line. The group %(...%) takes
> > care of removing the space if VisualSelectionSize() returns an empty
> > string when you are not in a visual mode.
> >
> > Regards,
> > Jürgen
> >
> > --
> > Sometimes I think the surest sign that intelligent life exists elsewhere
> > in the universe is that none of it has tried to contact us.     (Calvin)
> >
> > --
> > 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
> >
> >
> > ________________________________
> > If you reply to this email, your message will be added to the discussion
> > below:
> >
> http://vim.1045645.n5.nabble.com/Vim-count-selection-and-put-in-statusline-tp3390411p3394112.html<http://vim.1045645.n5.nabble.com/Vim-count-selection-and-put-in-statusline-tp3390411p3394112.html?by-user=t>
> > To unsubscribe from Vim count selection and put in statusline, click
> here.
>
> ------------------------------
> View this message in context: Re: Vim count selection and put in
> statusline<http://vim.1045645.n5.nabble.com/Vim-count-selection-and-put-in-statusline-tp3390411p3394165.html>
>
> Sent from the Vim - General mailing list 
> archive<http://vim.1045645.n5.nabble.com/Vim-General-f1139531.html>at 
> Nabble.com.
>
> --
> 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
>

-- 
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

Reply via email to