Recarrega .vimrc no Vim sem reiniciar

83

Me incomoda quando eu escrevo algo em .vimrc e tenho que fechá-lo primeiro e abrir para que minhas alterações sejam aplicadas. Existe uma maneira de recarregar .vimrc no Vim sem fechá-lo?

Por exemplo Eu adicionei set nu a ~/.vimrc e quero números de linha para todas as minhas janelas e buffers.

    
por Nemoden 22.05.2011 / 10:34

4 respostas

114

:source ~/.vimrc

Execute isso dentro do vim, isso aplicará seu .vimrc

Alternadamente

:source $MYVIMRC

    
por 22.05.2011 / 10:39
18

Aqui está um para a posteridade. Adicione o seguinte ao seu .vimrc:

map <leader>vimrc :tabe ~/.vim/.vimrc<cr>
autocmd bufwritepost .vimrc source $MYVIMRC

A primeira linha significa que você pode abrir seu vimrc a partir de qualquer buffer vim, digitando seu líder, e então escrevendo "vimrc". Por exemplo, meu líder é definido como vírgula, portanto, se eu estiver no modo de edição e digitar "vimrc", ele abrirá meu vimrc em uma nova guia.

A segunda linha automaticamente origina as alterações no seu vimrc quando você as salva e fecha. É mágica.

    
por 28.01.2012 / 04:56
12

:so %

se atualmente estiver editando .vimrc

    
por 29.08.2015 / 06:54
4
" Quickly edit/reload this configuration file
nnoremap gev :e $MYVIMRC<CR>
nnoremap gsv :so $MYVIMRC<CR>

Para recarregar automaticamente ao salvar, adicione o seguinte ao seu $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

e depois pela última vez, digite:

:so %

Da próxima vez que você salvar seu vimrc , ele será recarregado automaticamente.

Funcionalidades:

  • Informa ao usuário o que aconteceu (também registrando em :messages )
  • Lida com vários nomes para os arquivos de configuração
  • Garante que ele corresponderá apenas ao arquivo de configuração real (ignora cópias em outros diretórios ou fugitive:// diff)
  • não gerará um erro se usar vim-tiny

É claro que o recarregamento automático só acontecerá se você editar seu vimrc no vim.

    
por 02.09.2016 / 16:20

Tags