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


Kannst du deine bearbeiten? .vimrc Datei und neu laden, ohne Vim neu starten zu müssen?


495
2018-04-17 14:18


Ursprung




Antworten:


Wenn Sie es bearbeiten, können Sie es erneut laden mit:

:so %

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

Um das aktuell aktive .vimrc erneut zu laden, verwenden Sie im Allgemeinen Folgendes (siehe Tägliches Vim):

:so $MYVIMRC

611
2018-04-17 14:24



Schau es dir an stackoverflow.com/questions/803464/... - mrucci
und :so ~/.vimrc sollte auch auf Unix funktionieren - Yab
: so ~ / _vimrc funktioniert unter Windows. Natürlich behalte ich mein _vimrc in meinem Windows-Home-Verzeichnis, sonst wird das nicht funktionieren. Um zu sehen, was Vim als Ihr Heimverzeichnis ansieht, verwenden Sie :echo expand("~"). - Daniel Miladinov
Beachten Sie, dass wenn Tastaturzuordnungen bereits vorhanden sind, sie nicht gelöscht werden, selbst wenn sie aus dem neuen vimrc gelöscht werden - Phani


Noch besser, Sie konfigurieren Vim, um nach Änderungen in Ihrem System zu suchen .vimrc und laden Sie die Konfiguration automatisch neu.

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

Quelle: diese Antwort auf SO

Hinweis: Diese spezielle Methode überwacht die vielen Varianten von Vim-Konfigurationsdateinamen, damit sie mit GUI Vim, Windows Vim usw. kompatibel sind.


76
2018-04-28 09:32



Wie performant ist diese Methode? - Alexej Magura


Schlüsselzuordnungen

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

Komplett automatisierte Lösung

Zu automatisch Nach dem Speichern neu laden, füge folgendes zu deiner hinzu $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

und dann zum letzten Mal:

:so %

Das nächste Mal, wenn Sie Ihre Daten speichern vimrcEs wird automatisch neu geladen.

Eigenschaften:

  • Informiert den Benutzer, was passiert ist (auch Einloggen auf :messages)
  • Verarbeitet verschiedene Namen für die Konfigurationsdateien
  • Stellt sicher, dass es nur der tatsächlichen Konfigurationsdatei entspricht (ignoriert Kopien in anderen Verzeichnissen oder a fugitive:// Unterschied)
  • Wird bei der Verwendung keinen Fehler erzeugen vim-tiny

Natürlich geschieht das automatische Nachladen nur, wenn Sie Ihre Datei bearbeiten vimrc in vim.


8
2017-09-02 14:12





Eine Alternative zum Erinnern / Tippen :so $MYVIMRC sind diese Abbildungen. Sie können vimrc (ev) oder Quelle vimrc (sv).

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

4
2018-06-17 10:36