On 4/21/06, Nikolai Weibull <[EMAIL PROTECTED]> wrote: > Still, I figured that now that we have operator functions ... > I would be able to define my long-wanted "g:" > mapping that makes : act like an operator, i.e., first waits for a > range and then starts command mode with that range on the command > line: > > noremap <silent> g: <Esc>:set operatorfunc=GetCommandModeRange<CR>g@ > > function! GetCommandModeRange(type) > let b = line("'[") > let e = line("']") > > if b < e > let range = '.,+' . (e - b) > elseif b == e > let range = '.' > else > let range = '.,+' . (b - e) > endif > > " start command mode with 'range' already on the command line > ... > endfunction > > The question is, how do I start command mode?
Does this work for you inside the function : :exe "normal :".range ? Yakov