Last active
September 7, 2016 21:34
-
-
Save heroheman/905329df33f52290c1949b3adcb20529 to your computer and use it in GitHub Desktop.
Vim: Relative Number Toggle
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Function: RELATIVENUMBER"{{{ | |
set relativenumber | |
" toggle line numbering mode | |
if exists("+relativenumber") | |
if v:version >= 400 | |
set number | |
endif | |
set relativenumber " show relative line numbers | |
set numberwidth=3 " narrow number column | |
" cycles between relative / absolute / no numbering | |
if v:version >= 400 | |
function! RelativeNumberToggle() | |
if (&number == 1 && &relativenumber == 1) | |
set nonumber | |
set relativenumber relativenumber? | |
elseif (&number == 0 && &relativenumber == 1) | |
set norelativenumber | |
set number number? | |
elseif (&number == 1 && &relativenumber == 0) | |
set norelativenumber | |
set nonumber number? | |
else | |
set number | |
set relativenumber relativenumber? | |
endif | |
endfunc | |
else | |
function! RelativeNumberToggle() | |
if (&relativenumber == 1) | |
set number number? | |
elseif (&number == 1) | |
set nonumber number? | |
else | |
set relativenumber relativenumber? | |
endif | |
endfunc | |
endif | |
nnoremap <silent> <leader>z :call RelativeNumberToggle()<CR> | |
else " fallback | |
set number " show line numbers | |
" inverts numbering | |
nnoremap <silent> <leader>z :set number! number?<CR> | |
endif | |
"}}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment