是否可以应用vimconfiguration而不重新启动?

我想从Vim编辑.vimrc文件,并在不重新启动Vim的情况下应用它们。

是的,只需在编辑.vimrc时使用:so %命令即可。

如果你想让vim自动重载你的configuration,你必须添加下面的命令:

 augroup myvimrchooks au! autocmd bufwritepost .vimrc source ~/.vimrc augroup END 

自动命令的分组是在这里,以避免“指数”重新加载,如果你保存几次你的configuration。

如果你在Mac / Windows / Linux和gvimrc上运行,这是一个更跨平台兼容的版本:

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

autocmd监视所有潜在的*vimrc文件,当其中一个改变时,它重新加载vimrc文件,如果GUI正在运行,则加载gvimrc

input你的vimrc文件:source ~/.vimrc source〜 :source ~/.vimrc

 " Quickly edit/reload this configuration file nnoremap gev :e $MYVIMRC<CR> nnoremap gsv :so $MYVIMRC<CR> 

要保存时自动重新加载,请将以下内容添加到$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 

然后在最后一次input:

 :so % 

下一次你保存你的vimrc ,它会自动重新加载。

特征:

  • 告诉用户发生了什么事情(也logging到:messages
  • 处理configuration文件的各种名称
  • 确保它只会匹配实际的configuration文件(忽略其他目录中的副本或者fugitive:// diff)
  • 如果使用vim-tiny不会产生错误

当然,只有在vim中编辑vimrc ,才会自动重新加载。

自动命令! bufwritepost _vimrc源码%

这会在保存时自动重新加载_vimrc文件中的所有configuration