Ricarica .vimrc in Vim senza riavvio


93

Mi dà fastidio quando ho scritto qualcosa .vimrce devo prima chiuderlo e aprirlo per applicare le mie modifiche. C'è un modo per ricaricare .vimrcin Vim senza chiuderlo?

Ad esempio, ho aggiunto set nua ~/.vimrce voglio numeri di riga a comparire per tutte le mie finestre e buffer.

Risposte:


129

:source ~/.vimrc

Eseguilo dall'interno di VIM, che applicherà il tuo .vimrc

In alternativa

:source $MYVIMRC


18

Eccone uno per i posteri. Aggiungi quanto segue al tuo .vimrc:

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

La prima riga significa che puoi aprire il tuo vimrc da qualsiasi buffer di vim digitando il tuo leader, quindi scrivendo "vimrc". Ad esempio, il mio leader è impostato su virgola, quindi se sono in modalità di modifica e digito ", vimrc" apre il mio vimrc in una nuova scheda.

La seconda riga genera automaticamente le modifiche al tuo vimrc quando lo salvi e lo chiudi. È magico.


1
Idealmente non dovresti map <leader>vimrc :tabe $MYVIMRC<cr>abbinare l'autocmd?
Nick Bisby,

@NickBisby Per me ~/.vimrcè solo un troncone che genera in ~/.vim/.vimrcmodo da poter tenere tutto sotto il controllo del codice sorgente. Per la maggior parte delle persone hai ragione, lo sarebbe :tabe $MYVIMRC<cr>.
Decano del

1
In alternativa, puoi utilizzare un link simbolico al tuo vero file .vimrc invece di farlo diventare uno stub.
Spoike,

Come posso ricaricare vimrc senza cambiare la posizione del mio cursore?
SergioAraujo,


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

Per ricaricare automaticamente al salvataggio, aggiungi quanto segue a $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 quindi per l'ultima volta, digitare:

:so %

La prossima volta che salverai vimrc, verrà ricaricato automaticamente.

Caratteristiche:

  • Indica all'utente cosa è successo (accedendo anche a :messages)
  • Gestisce vari nomi per i file di configurazione
  • Assicura che corrisponderà solo al file di configurazione effettivo (ignora le copie in altre directory o un fugitive://diff)
  • Non genererà un errore se si utilizza vim-tiny

Ovviamente, il ricaricamento automatico avverrà solo se modifichi il tuo vimrcin vim.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.