On Sep 30, 12:21 am, Bee <[email protected]> wrote: > On Sep 29, 10:32 pm, "Christian Brabandt" <[email protected]> wrote: > > > On Thu, September 30, 2010 1:07 am, Bee wrote: > > > Is EXAMPLE 1 the only way to pass the selection to :s? > > > Making it necessary to preceed the :call with <C-U> ? > > > No functions can act on ranges as well. See the help at > > :h function-range-example and > > :h a:firstline > > Thank you Christian, for helping me learn to find in the help. > > It looks like I can pass the range, but it is much more work. > It is good to know about "range" and a:firstline ... > I have added these examples to my notes. > > function! BlkNum() range > let g:l = 0 | let g:b = 0 > execute a:firstline . "," . a:lastline . 's/^/\=BlkInc()/' > endfun > vmap <F5> :call BlkNum()<cr> > > function! BlkNum() > let g:l = 0 | let g:b = 0 > '<,'>s/^/\=BlkInc()/ > endfun > vmap <F5> :<C-U>call BlkNum()<cr>
And reading even more closely... This looks best (and works!): function! BlkNum() range let g:l = 0 | let g:b = 0 | '<,'>s/^/\=BlkInc()/ endfun vmap <F5> :call BlkNum()<cr> -- 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
