Réponses:
Oui il y a! Vous pouvez accomplir cela avec :tabdo
et :windo
. Pour votre cas en particulier:
:tabdo windo set number
Voir :help :tabdo
et :help :windo
pour plus d'informations.
:tabdo windo set number
fait le travail, mais je ne l'aime pas vraiment car il passe en fait à chaque onglet et fenêtre avant d'exécuter la commande. Une fois l'exécution terminée, vous vous retrouverez dans la dernière fenêtre du dernier onglet.
Je pense que c'est une façon plus propre de définir les options dans toutes les fenêtres sans changer l'onglet et la fenêtre actuels:
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>)
L'exécution :SetAll number 1
active la colonne numérique dans toutes les fenêtres, à l'exception de celles qui ont été buftype
définies, telles que les fenêtres d'aide.
Ceci est le même que celui en cours d' exécution: :tabdo windo let &number = 1
. Ainsi, le deuxième argument doit être une expression attribuable. Au lieu de cela :set filetype=ini
, ce serait :SetAll filetype "ini"
.
:tabdo windo
peut déclencher des autocommandes et ralentir les paramètres des options. Bien que la solution de Tommy A ne puisse pas être utilisée prête à l'emploi, c'est celle à privilégier dans les plugins.
:tabdo
c'est insuffisant.:help :tabdo
dit qu'il fonctionne dans la fenêtre actuelle de chaque page à onglet. Pour exécuter une commande dans toutes les fenêtres de tous les onglets dont vous aurez besoin:tabdo windo set number
.