Jawaban:
Ya ada! Anda dapat mencapai ini dengan :tabdodan :windo. Khusus untuk kasus Anda:
:tabdo windo set number
Lihat :help :tabdodan :help :windountuk informasi lebih lanjut.
:tabdo windo set numbermenyelesaikan pekerjaan, tapi saya tidak terlalu suka karena itu benar-benar beralih ke setiap tab dan jendela sebelum menjalankan perintah. Setelah selesai berjalan, Anda akan berakhir di jendela terakhir dari tab terakhir.
Saya pikir ini adalah cara yang lebih bersih untuk mengatur opsi di semua jendela tanpa mengubah tab dan jendela saat ini:
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>)
Menjalankan :SetAll number 1akan mengaktifkan kolom nomor di semua jendela, kecuali yang telah buftypeditetapkan, seperti jendela bantuan.
Ini adalah sama dengan menjalankan: :tabdo windo let &number = 1. Jadi, argumen kedua harus berupa ekspresi yang dapat ditentukan. Alih-alih :set filetype=ini, itu akan terjadi :SetAll filetype "ini".
:tabdo windodapat memicu perintah otomatis, dan memperlambat pengaturan opsi. Sementara solusi Tommy A tidak dapat digunakan di luar kotak, itu yang lebih disukai dalam plugin.
:tabdoTidak cukup.:help :tabdomengatakan bahwa ia beroperasi di jendela saat ini dari setiap halaman tab. Untuk menjalankan perintah di semua jendela di semua tab yang Anda perlukan:tabdo windo set number.