Antworten:
Ja da ist! Sie können dies mit :tabdound erreichen :windo. Für Ihren Fall speziell:
:tabdo windo set number
Siehe :help :tabdound :help :windofür weitere Informationen.
:tabdo windo set numbererledigt den Job, aber ich mag es nicht wirklich, da es tatsächlich zu jeder Registerkarte und jedem Fenster wechselt, bevor der Befehl ausgeführt wird. Nach Abschluss der Ausführung gelangen Sie zum letzten Fenster der letzten Registerkarte.
Ich denke, dies ist eine sauberere Möglichkeit, Optionen in allen Fenstern festzulegen, ohne die aktuelle Registerkarte und das aktuelle Fenster zu ändern:
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>)
Beim Ausführen :SetAll number 1wird die Nummernspalte in allen Fenstern aktiviert, mit Ausnahme derjenigen, die buftypefestgelegt wurden, z. B. Hilfefenster.
Dies ist das gleiche wie ausgeführt wird : :tabdo windo let &number = 1. Das zweite Argument muss also ein zuweisbarer Ausdruck sein. Stattdessen :set filetype=iniwäre es :SetAll filetype "ini".
:tabdo windomöglicherweise Autobefehle ausgelöst werden, und die Optionseinstellungen verlangsamen. Die Lösung von Tommy A kann zwar nicht sofort verwendet werden, wird jedoch in Plugins bevorzugt.
:tabdoist nicht ausreichend.:help :tabdosagt, dass es im aktuellen Fenster jeder Registerkarte funktioniert. Um einen Befehl in allen Fenstern in allen Registerkarten auszuführen, benötigen Sie:tabdo windo set number.