在已打开的gVim实例中的vim会话中自动重新加载.vimrc?

时间:2010-11-11 19:10:46

标签: vim

我通常在开发时在gVim中编辑我的文件。有时我需要在我的.vimrc或某些插件(如snipMate)中进行快速调整。为此,我打开一个终端,打开vim并编辑我的.vimrc或我的插件。

(为什么我这样做,在另一个窗口打开.vimrc?我不喜欢在gvim时将配置文件与项目文件混在一起,这是一个偏好的问题。)

我想在我已经打开的gVim上进行这些修改,而无需重新启动它 - 自动。

所以,我的问题是:如何在已经打开的gVim会话中编辑后自动加载我的.gvimrc / .vimrc?我使用snipmate插件,是否可以创建一个代码段并立即使用它?

我已经在使用this solution

augroup myvimrchooks
au!
    autocmd bufwritepost .vimrc source $HOME/.vim/.vimrc
augroup END

它有效,但不是我描述的第一个场景。有什么想法我该怎么办?谢谢!

1 个答案:

答案 0 :(得分:3)

这是一个建议。这可能需要一些调整。 (另外,我假设你的.vimrc在$ HOME / .vim / .vimrc而不是$ HOME / .vimrc,基于问题的措辞。)我的想法是将:source $HOME/.vim/.vimrc命令发送给每个人写.vimrc时的活动vim服务器。

 function! UpdateVimRC()
     for server in split(serverlist())
         call remote_send(server, '<Esc>:source $HOME/.vim/.vimrc<CR>')
     endfor
 endfunction
 augroup myvimrchooks
 au!
    autocmd bufwritepost .vimrc call UpdateVimRC()
 augroup END

可能只适用于GVIM,但我不确定。