sc wrote: > 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 > You're welcome! I'll include :RN in v2 when I release it (version 2a is currently on my website). Please rate it! I've released v1 to vim.sf.net:
http://vim.sourceforge.net/scripts/script.php?script_id=2351 Regards, Chip Campbell --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---