2010-04-17 14:18:40 +0000 2010-04-17 14:18:40 +0000
545
545

Como se recarrega o seu ficheiro .vimrc sem reiniciar o vim?

Pode editar o seu ficheiro .vimrc e recarregá-lo sem ter de reiniciar o Vim?

Respostas (4)

681
681
681
2010-04-17 14:24:51 +0000

Se o estiver a editar, pode recarregá-lo com:

:so %

% significa o nome do ficheiro actual (ver :h current-file) e :so é a abreviatura de :source, que lê o conteúdo do ficheiro especificado e o trata como código Vim.

Em geral, para recarregar o .vimrc actualmente activo, utilize o seguinte (ver Daily Vim ):

:so $MYVIMRC
79
79
79
2012-04-28 09:32:28 +0000

Melhor ainda, você configura o Vim para assistir a alterações no seu .vimrc e recarregar automaticamente o config.

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

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

11
11
11
2016-09-02 14:12:06 +0000

Mapas chave

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

Solução completamente automatizada

Para automaticamente recarregar no momento de guardar, 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 %

A próxima vez que guardar o seu vimrc, ele será automaticamente recarregado.

Características:

  • Diz ao utilizador o que se passou (também regista em :messages)
  • Manipula vários nomes para os ficheiros de configuração
  • Assegura que só irá corresponder ao ficheiro de configuração real (ignora cópias noutros directórios, ou um fugitive:// dif)
  • Não irá gerar um erro se utilizar o vim-tiny

Naturalmente, o recarregamento automático só irá acontecer se editar o seu vimrc no vim.

5
5
5
2015-06-17 10:36:59 +0000

Uma alternativa à memória/tipagem :so $MYVIMRC são estes mapeamentos. Permite editar rapidamente vimrc (ev) ou fonte vimrc (sv).

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