Відповіді:
Так, є! Ви можете досягти цього за допомогою :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
. Отже, другий аргумент повинен бути виразом, що присвоюється. Замість :set filetype=ini
цього було б :SetAll filetype "ini"
.
:tabdo windo
може викликати автокоманди, і уповільнить налаштування параметрів. Хоча рішення Tommy A не можна використовувати поза коробкою, саме його слід віддати перевагу в плагінах.
:tabdo
недостатньо.:help :tabdo
говорить, що він працює в поточному вікні кожної сторінки вкладки. Для виконання команди у всіх вікнах на всіх вкладках вам знадобиться:tabdo windo set number
.