From f8519555f743d0c95a346f0f92f208ef4fcaa67c Mon Sep 17 00:00:00 2001 From: Julian Prein Date: Mon, 13 Feb 2023 15:32:53 +0100 Subject: [PATCH] vim:setts: Deactivate 'relativenumber' I rarely use them and are more an annoyance. For the case that I want to enable them in a session, move the numbertoggle augroup into a function and add an autocommand on `OptionSet relativenumber`. --- .config/vim/vimrc.d/30-settings.vim | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/.config/vim/vimrc.d/30-settings.vim b/.config/vim/vimrc.d/30-settings.vim index b756878..1deaba2 100644 --- a/.config/vim/vimrc.d/30-settings.vim +++ b/.config/vim/vimrc.d/30-settings.vim @@ -1,11 +1,21 @@ " Settings """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" hybrid linenumbers -set number relativenumber -augroup numbertoggle - au! - au BufEnter,FocusGained,InsertLeave,WinEnter * if &nu | set rnu | endif - au BufLeave,FocusLost,InsertEnter,WinLeave * if &nu | set nornu | endif -augroup END + +" linenumbers +set number +" If relative linenumbers are activated, have them only in the focused window +function! Numbertoggle() + augroup numbertoggle + au! + au OptionSet relativenumber call Numbertoggle() + + if &relativenumber + au BufEnter,FocusGained,InsertLeave,WinEnter * if &nu | set rnu | endif + au BufLeave,FocusLost,InsertEnter,WinLeave * if &nu | set nornu | endif + endif + augroup END +endfunction +call Numbertoggle() + " no timeout when exiting insert-mode " (see https://www.johnhawthorn.com/2012/09/vi-escape-delays/) set timeoutlen=1000 ttimeoutlen=0