Как перезагрузить .vimrc файл без перезапуска Vim?
Можете ли вы отредактировать ваш .vimrc файл и перезагрузить его без перезапуска Vim?
Можете ли вы отредактировать ваш .vimrc файл и перезагрузить его без перезапуска Vim?
Если вы редактируете его, вы можете перезагрузить его с:
:so %
% означает текущее имя файла (см. :h current-file) и :so означает :source, который читает содержимое указанного файла и воспринимает его как Vim-код.
В общем, чтобы перезагрузить текущий активный .vimrc, используйте следующее (см. Daily Vim ):
:so $MYVIMRC
Еще лучше, вы настраиваете Vim для просмотра изменений в .vimrc и автоматически перезагружаете конфигурацию.
augroup myvimrc
au!
au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif
augroup END
Source: этот ответ на SO
Примечание: этот конкретный метод следит за многими вариациями имен файлов конфигурации Vim, так что он совместим с GUI Vim, Windows Vim, и т.д.
To автоматически перезагружайте при сохранении, добавьте следующее к вашему $MYVIMRC:
" Quickly edit/reload this configuration file
nnoremap gev :e $MYVIMRC<CR>
nnoremap gsv :so $MYVIMRC<CR>
, а затем в последний раз введите:
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
В следующий раз, когда вы сохраните ваш vimrc, он будет автоматически перезагружен.
Функции:
:messages) fugitive:// diff) vim-tiny Конечно, автоматическая перезагрузка произойдёт только если вы отредактируете вашу vimrc в vim.