[vim] add easy cycling through numbering modes

Adapted from:
    https://raw.githubusercontent.com/wincent/wincent/master/roles/dotfiles/files/.vim/autoload/wincent/mappings/leader.vim
This commit is contained in:
Fernando Schauenburg 2018-04-15 12:44:01 +02:00
parent cf5c52fea6
commit b4a6205b4d

View file

@ -126,6 +126,22 @@ set nocompatible
syntax enable syntax enable
" }}} " }}}
" Functions {{{
" Cycle through relativenumber + number, number (only), and no numbering.
function! VimrcCycleNumbers() abort
if exists('+relativenumber')
execute {
\ '00': 'set relativenumber | set number',
\ '01': 'set norelativenumber | set number',
\ '10': 'set norelativenumber | set nonumber',
\ '11': 'set norelativenumber | set number' }[&number . &relativenumber]
else
set number! " No relative numbering, just toggle numbers on and off.
endif
endfunction
" }}}"
" Mappings {{{ " Mappings {{{
let mapleader = "\<space>" let mapleader = "\<space>"
let maplocalleader = "," let maplocalleader = ","
@ -172,6 +188,10 @@ set nocompatible
" fix whitespace " fix whitespace
nnoremap <leader>w :FixWhitespace<cr> nnoremap <leader>w :FixWhitespace<cr>
" cycle through line numbering modes
nnoremap <silent> <leader>r :call VimrcCycleNumbers()<CR>
" }}}" " }}}"
augroup vimrc " {{{ augroup vimrc " {{{