Автоматически перезагрузить .vimrc, отредактированный в сеансе vim в уже открытом экземпляре gVim? - PullRequest
2 голосов
/ 11 ноября 2010

Я обычно редактирую свои файлы в gVim при разработке. Иногда мне нужно сделать быструю настройку в моем .vimrc или в некоторых плагинах (например, snipMate). Для этого я открываю терминал, открываю vim и редактирую свой .vimrc или мой плагин.

(Почему я это делаю, открывая .vimrc в другом окне? Мне не нравится смешивать файлы конфигурации с файлами проекта, когда я в gvim, это вопрос предпочтений.)

Я бы хотел, чтобы эти модификации были доступны на моем уже открытом gVim без перезапуска - автоматически.

Итак, мой вопрос: как мне автоматически загрузить мой .gvimrc / .vimrc после редактирования его в уже открытом сеансе gVim? Я использую плагин snipmate , возможно ли создать фрагмент и использовать его сразу же?

Я уже использую это решение

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

Это работает, но не в первом сценарии, который я описал. Есть идеи, как мне это сделать? Спасибо!

1 Ответ

3 голосов
/ 12 ноября 2010

Вот предложение.Это может потребовать некоторых настроек.(Также я предполагаю, что ваш .vimrc находится в $ HOME / .vim / .vimrc, а не в $ HOME / .vimrc в зависимости от формулировки вопроса.) Идея состоит в том, чтобы отправлять команду :source $HOME/.vim/.vimrc каждому активному vimсервер, когда написано .vimrc.

 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, но я не уверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...