답변:
예, 있습니다! :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
.