Как перезагрузить .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.