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

Wie laden Sie Ihre .vimrc-Datei neu, ohne Vim neu zu starten?

Können Sie Ihre Datei .vimrc editieren und neu laden, ohne Vim neu starten zu müssen?

Antworten (4)

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

Falls Sie ihn editieren, können Sie ihn neu laden mit:

:so %

% steht für den aktuellen Dateinamen (siehe :h current-file) und :so ist die Abkürzung für :source, die den Inhalt der angegebenen Datei liest und ihn als Vim-Code behandelt.

Im Allgemeinen benutzen Sie zum erneuten Laden der momentan aktiven .vimrc folgendes (siehe Daily Vim ):

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

Noch besser, Sie konfigurieren Vim so, dass er auf Änderungen in Ihrer .vimrc achtet und automatisch die Konfiguration

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

Source neu lädt: diese Antwort auf SO

Anmerkung: diese besondere Methode achtet auf die vielen Variationen von Vim-Konfigurationsdateinamen, so dass sie mit GUI Vim, Windows Vim, usw. kompatibel ist.

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

Tastenbelegungen

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

Vollständig automatisierte Lösung

Um automatisch beim Speichern neu zu laden, fügen Sie Folgendes zu Ihrer $MYVIMRC 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 dann zum letzten Mal:

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

Features:

  • Sagt dem Benutzer, was passiert ist (loggt sich auch in :messages ein)
  • Behandelt verschiedene Namen für die Konfigurationsdateien
  • Stellt sicher, dass es nur mit der tatsächlichen Konfigurationsdatei übereinstimmt (ignoriert Kopien in anderen Verzeichnissen oder ein fugitive:// diff)
  • Erzeugt keinen Fehler, wenn Sie vim-tiny

benutzen. Natürlich wird das automatische Neuladen nur geschehen, wenn Sie Ihre vimrc in vim editieren.

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

Eine Alternative zum Erinnern/Eintippen von :so $MYVIMRC sind diese Mappings. Damit können Sie vimrc (ev) oder den Quellcode vimrc (sv) schnell editieren.

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