Advertisement
atimholt

Set numbers

Jan 30th, 2012
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 0.89 KB | None | 0 0
  1. let g:number_mode = 1
  2.  
  3. function! g:ToggleNuMode(...)
  4.   if a:0
  5.     if(a:1 != -1)
  6.       let g:number_mode = a:1
  7.     else
  8.       let g:number_mode -= 1
  9.     endif
  10.   else
  11.     let g:number_mode += 1
  12.   endif
  13.  
  14.   if g:number_mode > 2
  15.     let g:number_mode = 0
  16.   endif
  17.   if g:number_mode < 0
  18.     let g:number_mode = 2
  19.   endif
  20.  
  21.   call g:TimDisplayNumbers()
  22. endfunc
  23.  
  24. function! g:DisplayNumbers()
  25.   if(g:number_mode == 1)
  26.     set number
  27.   elseif(g:number_mode == 2)
  28.     set relativenumber
  29.   else
  30.     set nonumber
  31.     set norelativenumber
  32.   endif
  33. endfunc
  34.  
  35. " Cycle
  36. nnoremap <silent> <leader>n :call g:ToggleNuMode()<cr>
  37. nnoremap <silent> <leader>NN :call g:ToggleNuMode(-1)<cr>
  38.  
  39. " Off
  40. nnoremap <silent> <leader>N0 :call g:ToggleNuMode(0)<cr>
  41.  
  42. " Absolute
  43. nnoremap <silent> <leader>Na :call g:ToggleNuMode(1)<cr>
  44.  
  45. " Relative
  46. nnoremap <silent> <leader>Nr :call g:ToggleNuMode(2)<cr>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement