Можно ли применить конфигурации vim без перезапуска?
Я хочу изменить .vimrc файл из Vim и применить их без перезагрузки Vim.
5 ответов:
да, просто использовать
:so %команда при редактировании вашего .vimrc.Если вы хотите, чтобы vim автоматически перезагрузил вашу конфигурацию, вы должны добавить следующие команды:
augroup myvimrchooks au! autocmd bufwritepost .vimrc source ~/.vimrc augroup ENDгруппировка autocommand здесь, чтобы избежать "экспоненциальной" перезагрузки, если вы сохраните несколько раз свою конфигурацию.
вот более кросс-платформенная совместимая версия, если вы работаете на 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 ENDautocmd наблюдает за всем потенциалом
*vimrcфайлы и когда один изменяет, он перезагружаетvimrcфайл, за которым следуетgvimrcесли графический интерфейс запущен.
" 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.