2010-09-22 39 views
56

Ho alcuni file aperti in vim, in più finestre. C'è un comando come: e che ricaricherà i buffer per tutti i file che ho aperto? Ho bisogno di questo perché a volte altero alcuni file con un altro editor mentre sono aperti anche in vim.Come ricaricare tutte le finestre vim in una sola volta?

risposta

89

Il comando: windo fa per windows cosa: bufdo fa per i buffer. Cioè:

:windo e 

dovrebbe passare in rassegna tutte le finestre visibili (vale a dire, non finestre su altre schede, se ce ne sono) ed eseguire il ': e' il comando. Analogamente:

:bufdo e 

sarebbe scorrere tutti i buffer nell'elenco tampone (cioè, nessun buffer "nascosti") ed eseguire lo stesso comando.

Si noti che potrebbero essere presenti buffer nell'elenco di buffer che non sono attualmente visualizzati in nessuna finestra. Quindi, se usare ': windo e' o ': bufdo e' dipende da cosa vuoi.

aiuto Rilevante è qui: http://vimdoc.sourceforge.net/htmldoc/windows.html#list-repeat

+31

Allo stesso modo ': tabdo e' sarebbe ricaricare tutte le finestre in tutte le schede – rewolf

+7

Hmm, non ho provato, ma per coprire i casi split-window non sarebbe che richiedono': tabdo exec 'windo e''? –

+3

Hai ragione, mio ​​cattivo. ': tabdo e' ricarica solo la prima finestra in ogni scheda. Grazie :) spiega perché ho avuto problemi ieri – rewolf

9

Vim si ricaricherà automaticamente i buffer che sono stati modificati esternamente (e non hanno le modifiche non salvate) se si imposta l'opzione 'autoread'.

Problemi correlati