是否可以在不重新启动的情况下应用vim配置?

时间:2010-03-08 09:16:46

标签: vim

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

5 个答案:

答案 0 :(得分:72)

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

如果您希望vim自动重新加载配置,则必须添加以下命令:

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

自动命令的分组是为了避免“指数”重新加载,如果你保存了几次配置。

答案 1 :(得分:42)

如果你在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个文件,当一个文件发生更改时,如果GUI正在运行,它会重新加载vimrc文件,后跟gvimrc

答案 2 :(得分:32)

获取您的vimrc文件:source ~/.vimrc

答案 3 :(得分:7)

" 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

然后最后一次输入:

:so %

下次保存vimrc时,系统会自动重新加载。

功能

  • 告诉用户发生了什么(也记录到:messages
  • 处理配置文件的各种名称
  • 确保它只匹配实际配置文件(忽略其他目录中的副本,或fugitive://差异)
  • 如果使用vim-tiny
  • ,则无法生成错误

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

答案 4 :(得分:1)

  

自动命令! bufwritepost _vimrc source%

这将在您保存

时自动重新加载_vimrc文件中的所有配置