Search code examples
vim

Toggle absolute and relative numbering in VIM by insert/normal mode


I use the relative line number setting in vim. I would like vim to automatically switch to absolute line numbers when I am in insert mode and back to relative in normal mode. Currently I have tried this code in my vimrc

  autocmd InsertEnter * :set number                                                                                                                                                                                                      
  autocmd InsertLeave * :set relativenumber 

Unfortunately this only gets me part of the way there. This toggles on relative numbers the first time I leave insert mode, but will no longer go back to absolute numbers upon entering insert mode again.


Solution

  • First, do a

    set number
    

    Then

    autocmd InsertEnter * :set norelativenumber
    autocmd InsertLeave * :set relativenumber