回答:
はいあります!:tabdo
とでこれを達成でき:windo
ます。特にあなたの場合:
:tabdo windo set number
:help :tabdo
および:help :windo
を参照してください。
:tabdo windo set number
は仕事をやり遂げますが、実際にはコマンドを実行する前に各タブとウィンドウに切り替わるため、私はそれが本当に好きではありません。実行が終了すると、最後のタブの最後のウィンドウに移動します。
これは、現在のタブとウィンドウを変更せずに、すべてのウィンドウでオプションを設定するよりクリーンな方法だと思います:
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>)
実行:SetAll number 1
するとbuftype
、ヘルプウィンドウなどの設定済みのウィンドウを除き、すべてのウィンドウで数値列が有効になります。
これは、実行と同じです:tabdo windo let &number = 1
。したがって、2番目の引数は割り当て可能な式である必要があります。代わりに:set filetype=ini
、それは次のようになります:SetAll filetype "ini"
。
:tabdo windo
オートコマンドをトリガーし、オプション設定を遅くする可能性のある(現在のタブ/ウィンドウを変更する以外に)追加します。Tommy Aのソリューションはそのまま使用することはできませんが、プラグインで優先されるソリューションです。
:tabdo
十分ではありません。:help :tabdo
各タブページの現在のウィンドウで動作するという。必要なすべてのタブのすべてのウィンドウでコマンドを実行するには:tabdo windo set number
。