Is it possible to apply vim configurations without restarting?

后端 未结 5 1160
南笙
南笙 2020-12-12 19:45

I want to edit .vimrc file from Vim and apply them without restarting Vim.

相关标签:
5条回答
  • 2020-12-12 19:52

    source your vimrc file :source ~/.vimrc

    0 讨论(0)
  • 2020-12-12 20:02

    Yes, just use the :so % command while editing your .vimrc.

    If you want vim to auto-reload your configuration, you must add the following commands :

    augroup myvimrchooks
        au!
        autocmd bufwritepost .vimrc source $MYVIMRC
    augroup END
    

    the grouping of autocommand is here to avoid "exponential" reloading if you save several times your configuration.

    0 讨论(0)
  • 2020-12-12 20:05
    " Quickly edit/reload this configuration file
    nnoremap gev :e $MYVIMRC<CR>
    nnoremap gsv :so $MYVIMRC<CR>
    

    To automatically reload upon save, add the following to your $MYVIMRC:

    if has ('autocmd') " Remain compatible with earlier versions
     augroup vimrc     " Source vim configuration upon save
        autocmd! BufWritePost $MYVIMRC source % | echom "Reloaded " . $MYVIMRC | redraw
        autocmd! BufWritePost $MYGVIMRC if has('gui_running') | so % | echom "Reloaded " . $MYGVIMRC | endif | redraw
      augroup END
    endif " has autocmd
    

    and then for the last time, type:

    :so %
    

    The next time you save your vimrc, it will be automatically reloaded.

    Features:

    • Tells the user what has happened (also logging to :messages)
    • Handles various names for the configuration files
    • Ensures that it wil only match the actual configuration file (ignores copies in other directories, or a fugitive:// diff)
    • Won't generate an error if using vim-tiny

    Of course, the automatic reload will only happen if you edit your vimrc in vim.

    0 讨论(0)
  • 2020-12-12 20:07

    Here's a more cross-platform compatible version if you run on Mac/Windows/Linux and gvimrc:

    augroup myvimrc
        au!
        au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif
    augroup END
    

    The autocmd watches all potential *vimrc files and when one changes, it reloads the vimrc file followed by gvimrc if the GUI is running.

    0 讨论(0)
  • 2020-12-12 20:14

    autocmd! bufwritepost _vimrc source %

    this will automatic reload all config in _vimrc file when you save

    0 讨论(0)
提交回复
热议问题