it-swarm.com.de

Laden Sie .vimrc in Vim neu, ohne den Computer neu zu starten

Es stört mich, wenn ich etwas in .vimrc geschrieben habe und es zuerst schließen und öffnen muss, damit meine Änderungen übernommen werden. Gibt es eine Möglichkeit, .vimrc in Vim neu zu laden, ohne es zu schließen?

Z.B. Ich habe set nu zu ~/.vimrc hinzugefügt und möchte, dass Zeilennummern für alle meine Fenster und Puffer angezeigt werden.

87
Nemoden

:source ~/.vimrc

Führen Sie das aus vim heraus aus, damit Ihr .vimrc angewendet wird.

Abwechselnd

:source $MYVIMRC

122
freethinker

Hier ist eine für die Nachwelt. Fügen Sie Ihrem .vimrc Folgendes hinzu:

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

Die erste Zeile bedeutet, dass Sie Ihren vimrc von jedem vim-Puffer aus öffnen können, indem Sie Ihren Anführer eingeben und dann "vimrc" schreiben. Beispielsweise ist mein Anführer auf Komma eingestellt. Wenn ich mich im Bearbeitungsmodus befinde und ", vimrc" eingebe, wird mein vimrc in einem neuen Tab geöffnet.

In der zweiten Zeile werden die Änderungen automatisch an Ihrem vimrc abgelegt, wenn Sie ihn speichern und schließen. Es ist Magie.

18
Dean

:so %

wenn Sie gerade .vimrc bearbeiten

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

Um beim Speichern automatisch neu zu laden , fügen Sie Ihrem $MYVIMRC Folgendes hinzu:

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

und geben Sie dann zum letzten Mal Folgendes ein:

:so %

Wenn Sie Ihre vimrc das nächste Mal speichern, wird sie automatisch neu geladen.

Funktionen:

  • Teilt dem Benutzer mit, was passiert ist (auch bei :messages)
  • Behandelt verschiedene Namen für die Konfigurationsdateien
  • Stellt sicher, dass es nur mit der tatsächlichen Konfigurationsdatei übereinstimmt (ignoriert Kopien in anderen Verzeichnissen oder einen fugitive:// diff)
  • Kein Fehler bei Verwendung von vim-tiny

Das automatische Neuladen findet natürlich nur statt, wenn Sie Ihre vimrc in vim bearbeiten.

4
Tom Hale