Der Befehl zum Aktualisieren einer Datei von der Version auf der Festplatte lautet :e!
Wie kann ich für alle Dateien im Puffer dasselbe tun?
Hintergrund: Ich brauche das, weil ich git mit mehreren Zweigen verwende, wobei ein vim offen ist und einen Puffer enthält. Wenn ich einen Zweig auschecke, möchte ich vim aktualisieren.
set noconfirm
bevor Sie denbufdo
Befehl verwenden (set confirm
danach erneut aktivieren).bufdo e
lässt seltsamerweise alle Puffer ohne Syntax hervorgehobenDer
:checkt[ime]
Befehl ist genau für diesen Zweck konzipiert.Sie werden aufgefordert, alle geänderten Puffer neu zu laden. Wenn Sie die Eingabeaufforderung überspringen möchten, können Sie dies im
:set autoread
Voraus tun (Sie erhalten weiterhin eine Eingabeaufforderung für Puffer mit lokalen nicht gespeicherten Änderungen).Außerdem wird das von Steven Lu in der akzeptierten Antwort erwähnte Problem der Syntaxhervorhebung vermieden.
:bufdo
Deaktiviert die Syntaxhervorhebung durch das Design .Gefunden über: http://vim.1045645.n5.nabble.com/Bug-report-bufdo-e-breaking-syntax-highlighting-on-displayed-buffers-tp1209995p1209998.html
quelle
Folgendes habe ich in meine .vimrc eingefügt:
quelle
Von
:help autoread
:Wenn Sie, wie ich, nur immer passiv wollen veraltete, aber nicht modifizierte Puffer neu laden sollte dies die Aufgabe erledigen.
Das letzte Detail ist jedoch, wenn vim den veralteten Puffer bemerkt. Das kann mit erzwungen werden
checktime
. Wenn Sie Fokusereignisse eingerichtet haben , können wir ausgeführt werden,checktime
wann immer wir den Fokus wie folgt erhalten:Diese Antwort enthält auch einige interessante Details.
quelle
Als @Matthew S hier https://vi.stackexchange.com/a/462 erwähnt , können Sie verwenden:
quelle