Como você recarrega seu arquivo .vimrc sem reiniciar o vim?

504

Você pode editar seu arquivo .vimrc e recarregá-lo sem ter que reiniciar o Vim?

    
por ivo 17.04.2010 / 16:18

4 respostas

620

Se você estiver editando, poderá recarregá-lo com:

:so %

% significa nome de arquivo atual (consulte :h current-file ) e :so é a abreviação de :source , que lê o conteúdo do arquivo especificado e o trata como código Vim.

Em geral, para recarregar o arquivo .vimrc ativo no momento, use o seguinte (consulte Vim diário ):

:so $MYVIMRC
    
por 17.04.2010 / 16:24
76

Melhor ainda, você configura o Vim para observar as alterações em seu .vimrc e recarregar automaticamente a configuração.

augroup myvimrc
    au!
    au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif
augroup END

Fonte: esta resposta em SO

Nota: este método particular observa as muitas variações dos nomes de arquivos de configuração do Vim para que seja compatível com GUI Vim, Windows Vim, etc.

    
por 28.04.2012 / 11:32
9

Mapeamentos de chaves

" Quickly edit/reload this configuration file
nnoremap gev :e $MYVIMRC<CR>
nnoremap gsv :so $MYVIMRC<CR>

Solução totalmente automatizada

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:12
5

Uma alternativa para lembrar / digitar :so $MYVIMRC é esses mapeamentos. Ele permite que você edite rapidamente o vimrc ( ev ) ou o vimrc de origem ( sv ).

" Quickly open/reload vim
nnoremap <leader>ev :split $MYVIMRC<CR>  
nnoremap <leader>sv :source $MYVIMRC<CR>     
    
por 17.06.2015 / 12:36

Tags