Risposte:
Si C'è! Puoi farlo con :tabdo
e :windo
. Per il tuo caso in particolare:
:tabdo windo set number
Vedi :help :tabdo
e :help :windo
per maggiori informazioni.
:tabdo windo set number
ottiene il lavoro fatto, ma non mi piace molto dal momento che passa a ciascuna scheda e finestra prima di eseguire il comando. Al termine dell'esecuzione, finirai sull'ultima finestra dell'ultima scheda.
Penso che questo sia un modo più pulito per impostare le opzioni in tutte le finestre senza modificare la scheda e la finestra correnti:
function! s:set_all(option, val, ...) abort
let val = eval(a:val)
for t in range(1, tabpagenr('$'))
for w in range(1, tabpagewinnr(t, '$'))
if gettabwinvar(t, w, '&buftype') !=# ''
continue
endif
call settabwinvar(t, w, '&'.a:option, val)
endfor
endfor
endfunction
command! -complete=option -nargs=+ SetAll call s:set_all(<f-args>)
In esecuzione :SetAll number 1
abiliterà la colonna numerica in tutte le finestre, ad eccezione di quelle buftype
impostate, ad esempio le finestre della guida.
Questa è la stessa cosa che lanciare: :tabdo windo let &number = 1
. Quindi, il secondo argomento deve essere un'espressione assegnabile. Invece :set filetype=ini
, lo sarebbe :SetAll filetype "ini"
.
:tabdo windo
potrebbe attivare i comandi automatici e rallentare le impostazioni delle opzioni. Sebbene la soluzione di Tommy A non possa essere utilizzata immediatamente, è quella da preferire nei plugin.
:tabdo
non è sufficiente.:help :tabdo
dice che funziona nella finestra corrente di ogni scheda. Per eseguire un comando in tutte le finestre in tutte le schede di cui hai bisogno:tabdo windo set number
.