2010-09-22 7 views
56

Ich habe ein paar Dateien geöffnet in vim, in mehreren Fenstern. Gibt es einen Befehl wie: e, der die Puffer für alle geöffneten Dateien neu lädt? Ich brauche das, weil ich manchmal einige der Dateien mit einem anderen Editor ändere, während sie auch in vim geöffnet sind.Wie laden Sie alle vim-Fenster auf einmal neu?

Antwort

89

Der Befehl: windo tut für Windows was: bufdo tut für Puffer. Das heißt:

:windo e 

sollte durch alle sichtbaren Fenster (das heißt, keine Fenster auf anderen Registerkarten, falls vorhanden), und führen Sie das ‚e‘ Befehl. Ebenso:

:bufdo e 

würde durch alle Puffer in dem Pufferliste (d.h. keine „hidden“ Puffer) und führen den gleichen Befehl.

Beachten Sie, dass in der Pufferliste möglicherweise Puffer vorhanden sind, die derzeit in keinem Fenster angezeigt werden. Ob ": windo e" oder ": bufdo e" verwendet wird, hängt davon ab, was Sie wollen.

Relevante Hilfe ist hier: http://vimdoc.sourceforge.net/htmldoc/windows.html#list-repeat

+31

Ähnlich ': tabdo e' alle Fenster in allen Registerkarten nachladen würde – rewolf

+7

Hmm, ich habe nicht versucht, aber split-window Fälle abdecken würde nicht die' erfordern: tabdo exec 'windo e''? –

+3

Sie haben Recht - mein Schlechter. ': tabdo e' lädt nur das erste Fenster in jedem Tab neu. Danke :) erklärt, warum ich gestern Probleme hatte – rewolf

9

Vim automatisch Puffer nachladen, die extern geändert wurden (und nicht über ungesicherte Änderungen), wenn Sie die 'autoread' Option.

Verwandte Themen