vim - 自动重新加载在已打开的 gVim 实例中的 vim session 中编辑的 .vimrc?

标签 vim

我在开发时通常在 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/

相关文章:

vim - 在 Vim 中交换两个字符串的最简单方法是什么?

regex - 正则表达式 - 删除模式前面的空格

ubuntu - vim 减慢 yaml 文件的 autocompop 速度

Vim 背景颜色无法在 GNOME 终端中正确呈现

vim - 在VIM中插入到行尾

vim - 我可以用 vim 创建无限的标记吗?

c - 带 C 条件解析的 Vim

vim - 使用 Vim 删除单个换行符但保留空行

vim - 如何在vim中删除文件中多次出现的特定行

python - 需要一些关于切换到 python3 的 vim 建议