我在开发时通常在 gVim 中编辑文件。有时我需要在 .vimrc 或某些插件(如 snipMate)中进行快速调整。为此,我打开一个终端,打开 vim 并编辑我的 .vimrc 或我的插件。
(为什么我要这样做,在不同的窗口中打开 .vimrc?当我在 gvim 时,我不喜欢将配置文件与项目文件混合在一起,这是一个偏好问题。)
我希望在我已经打开的 gVim 上可以使用这些修改,而无需自动重新启动它。
所以,我的问题是:在已打开的 gVim session 中编辑 .gvimrc/.vimrc 后,如何自动加载它?我用snipmate插件,是否可以创建一个代码片段并立即使用它?
我已经在使用this solution
augroup myvimrchooks
au!
autocmd bufwritepost .vimrc source $HOME/.vim/.vimrc
augroup END
它有效,但不适用于我描述的第一个场景。我该怎么做有什么想法吗?谢谢!
最佳答案
这是一个建议。这可能需要一些调整。 (另外,根据问题的措辞,我假设你的 .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,但我不确定。
关于vim - 自动重新加载在已打开的 gVim 实例中的 vim session 中编辑的 .vimrc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4158277/