Подтвердить что ты не робот

Можно ли использовать конфигурации vim без перезапуска?

Я хочу отредактировать файл .vimrc от Vim и применить их без перезапуска Vim.

4b9b3361

Ответ 1

Да, просто используйте команду :so % во время редактирования .vimrc.

Если вы хотите, чтобы vim автоматически перезагрузил вашу конфигурацию, вы должны добавить следующие команды:

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

группировка автокоманды здесь, чтобы избежать "экспоненциальной" перезагрузки, если вы сохраняете несколько раз свою конфигурацию.

Ответ 2

Здесь представлена ​​более кросс-платформенная совместимая версия, если вы работаете на 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

Автомат отслеживает все потенциальные файлы *vimrc, и когда он изменяется, он перезагружает файл vimrc, за которым следует gvimrc, если графический интерфейс работает.

Ответ 3

введите ваш файл vimrc :source ~/.vimrc

Ответ 4

" 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:// diff)
  • Не будет генерировать ошибку при использовании vim-tiny

Конечно, автоматическая перезагрузка произойдет, только если вы измените свой vimrc в vim.

Ответ 5

autocmd! bufwritepost источник _vimrc%

это автоматически перезагрузит всю конфигурацию в файле _vimrc при сохранении