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] <[email protected]>: > > 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 > To unsubscribe from Vim count selection and put in statusline, click here. -- View this message in context: http://vim.1045645.n5.nabble.com/Vim-count-selection-and-put-in-statusline-tp3390411p3394165.html Sent from the Vim - General mailing list archive 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
