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

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

Advertisement

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

Advertisement
Advertisement

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
Advertisement
11
11
2016-09-02 14:12:06 +0000
Advertisement

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>
Advertisement

Verwandte Fragen

5
6
8
12
11
Advertisement
Advertisement