On Tuesday 19 August 2008 09:50, Charles Campbell wrote:
> 
> sc wrote:
> > thank *you* -- it looks really useful
> >
> > now can you help me make a toggle for it, so i don't need to
> > burn two mappings for it?  like for example instead of
> > saying "RltvNmbr is already enabled", which i can plainly
> > see, why not turn it off?
> >
> > i looked for a variable i could test for in a toggle
> > function but nothing jumped out at me
> >   
> RltvNmbr!   will turn it off.
> 
> You could write your own command and function to do the toggling; as an 
> example,
> 
> com! RN    call s:RN()
> fun! s:RN()
>   if !exists("s:RN")
>    let s:RN=1
>   else
>    let s:RN= !s:RN
>   endif
>   if s:RN
>    RltvNmbr
>   else
>    RltvNmbr!
>   endif
> endfun
> 
> Then :RN will toggle RltvNmbr.
> 
> Regards,
> Chip Campbell

because we're using exists(), turning it off with !s:RN only
works once -- here's my implementation:

nnoremap <silent> <Leader>rrr :silent call ToggleRltvNmbr()<CR>

function! ToggleRltvNmbr()
    if !exists("s:RN")
        let s:RN = 1
        RltvNmbr
    else
        unlet s:RN
        RltvNmbr!
    endif
endfunction

and i used my spiffy new relative numbers to yank the
function for pasting here -- i love it!

i may make RN buffer local, so i can use this in other
buffers in the same edit session without having to hit the
toggle three times, but already this is wonderful

thanx again charles

sc



--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui