Windows Terminal : 윈도우에서 iterms와 같은 broadcast input 쓰기

MacOS의 ITerm2 은 여러 터미널을 열어 넣고 동시에 입력하는 “브로드캐스트 입력”이라는 기능을 제공합니다. 윈도우에서 이런 기능을 제공하는 터미널 도구를 찾다가 알게 된 게 windows terminal 입니다.

이런 브로드캐스트 입력은 클러스터로 이루어진 여러 서버들에 입력이 필요한 경우에 매우 유용합니다.

이번 포스트에서는 터미널에서 브로드캐스트 입력을 지원하는 Windows terminal 툴과 사용법, 커스텀 설정 법을 소개합니다.

다운로드 및 설치

구글 검색에 windows terminal을 치거나 아래 사이트를 통해 Windows Terminal을 다운 받을 수 있습니다.

설치는 간단하게 다음-다음 눌러서 설치!

브로드캐스트 입력 사용법

우선 위의 화면과 같이 터미널 상단의 탭에서 오른쪽 버튼을 클릭하면 메뉴가 뜹니다.

여기서 ‘분할 탭’을 클릭하면 동일 화면에 여러 터미널 탭을 볼 수 있습니다.

이런 동일 화면에서의 독립된 창(탭)을 ‘pane‘이라고 부릅니다.

여기서 Ctrl+shift+p(VSCode의 명령어와 유사)로 명령 파레트를 실행 한 후, ‘브로드캐스트’을 입력하면 아래 화면과 같이 “브로드캐스트 입력을 모든 창으로 토글“이 뜹니다. 해당 메뉴를 실행합니다.

이제 모든 pane에서 동시 입력이 가능합니다.

단축키 설정법

1. 패널(Pane) 생성 및 관리 단축

기본적으로 Windows Terminal은 화면 분할 시 현재 열린 프로필(PowerShell, CMD, WSL 등)을 그대로 사용합니다.

  • 패널 수직 분할 (Vertical Split): Alt + Shift + Plus(+) (또는 Alt + Shift + =)
  • 패널 수평 분할 (Horizontal Split): Alt + Shift + Minus(-)
  • 패널 닫기 (Close Pane): Ctrl + Shift + W
  • 자동 분할 (Auto Split): Alt + Shift + D (사용 가능한 공간에 따라 가로/세로 자동 결정)
2. 패널 간 이동 및 크기 조절

마우스 없이 키보드만으로 레이아웃을 제어할 때 필수적인 단축키입니다.

  • 패널 간 포커스 이동: Alt + 방향키 (상/하/좌/우)
  • 패널 크기 조절: Alt + Shift + 방향키 (해당 방향으로 경계선 확장/축소)
  • 패널 최대화/복구: (설정 필요) 특정 패널만 전체 화면으로 보려면 설정에서 “Toggle pane zoom” 기능을 할당해야 합니다.
3. 브로드캐스트 입력 (Broadcast Input)

iTerm2의 Cmd + Shift + I와 같은 기능입니다. 윈도우 터미널에서는 기본 단축키가 지정되어 있지 않을 수 있으므로, 커맨드 팔레트를 이용하거나 직접 지정해야 합니다.

4. iTerm2 스타일로 단축키 커스텀하기

Windows Terminal의 설정 파일(settings.json)을 수정하여 iTerm2와 최대한 유사하게 매핑할 수 있습니다.

상단 탭에서 아래쪽 화살표 버튼을 눌러서 ‘설정’ 메뉴 클릭
왼쪽 설정 메뉴바의 하단의 Json 파일 열기

Json 설정 파일의 중간에 keybindings 설정값 부분에 아래 설정값을 추가합니다.

아래 설정값은 pane 분할, 이동, 확대에 관련된 단축키입니다.

저는 alt+화살표로 pane간 이동이 가능하게 설정하였습니다.

단축키는 사용자에 맞게 설정해줍니다.

// settings.json의 "keybindings" 섹션에 추가
    "keybindings": [
        {
            "id": "Terminal.DuplicatePaneRight",
            "keys": "alt+shift+plus"
        },
        {
            "id": "Terminal.ToggleBroadcastInput",
            "keys": "ctrl+shift+i"
        },
        {
            "id": "Terminal.DuplicatePaneDown",
            "keys": "alt+shift+minus"
        },
        {
            "id": "Terminal.MoveFocusLeft",
            "keys": "alt+left"
        },
        {
            "id": "Terminal.TogglePaneZoom",
            "keys": "alt+shift+enter"
        },
        {
            "id": "Terminal.PasteFromClipboard",
            "keys": "ctrl+v"
        },
        {
            "id": "Terminal.FindText",
            "keys": "ctrl+shift+f"
        },
        {
            "id": "Terminal.MoveFocusRight",
            "keys": "alt+right"
        },
        {
            "id": "Terminal.MoveFocusUp",
            "keys": "alt+up"
        },
        {
            "id": "Terminal.MoveFocusDown",
            "keys": "alt+down"
        }
    ],
5. 프로필(Profiles)을 이용한 서버 정보 저장

Windows Terminal 설정(Ctrl + ,)의 프로필 탭에서 각 서버를 하나의 항목으로 등록할 수 있습니다.

설정 화면 왼쪽 하단의 “새 프로필 추가” 클릭
새 빈 프로필 클릭
명령줄(Command line) 항목에 SSH 접속 명령어를 입력: ssh userid@아이피 주소 -p 포트번호

설정을 완료하면 상단 탭 옆의 드롭다운 화살표를 누를시 저장된 서버 리스트가 뜹니다.

클릭 한 번으로 해당 서버 세션이 열립니다.

6. 터미널 시작시 분할된 특정 서버 실행

터미널을 켤 때마다 특정 서버들을 특정 레이아웃(분할 화면)으로 자동 실행하고 싶을 때 사용합니다.

  • JSON 이 설정을 사용하면 터미널 실행 시 자동으로 화면이 분할되면서 미리 설정된 두 서버에 접속됩니다.
"startupActions": "split-pane -p \"Server1-Profile\" ; split-pane -H -p \"Server2-Profile\""

Leave a Comment


목차