Windows Terminal 커스터마이징 — 프로필, 테마, 단축키

Windows Terminal 소개

Windows Terminal은 Microsoft가 개발한 모던 터미널 애플리케이션입니다. CMD, PowerShell, WSL, Azure Cloud Shell 등 여러 셸을 탭과 분할 패널로 동시에 사용할 수 있습니다. GPU 가속 텍스트 렌더링, 유니코드/이모지 지원, 풍부한 커스터마이징 옵션을 제공합니다.

이 글에서는 프로필 설정, Oh My Posh 테마 적용, 단축키 커스터마이징, 분할 패널 활용법을 다룹니다.

설치 및 기본 설정

Microsoft Store에서 설치하거나 winget으로 설치할 수 있습니다.

# winget으로 설치
winget install Microsoft.WindowsTerminal

# 설정 파일 위치 확인
# %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
# 또는 Terminal 내에서 Ctrl+, 로 설정 열기

프로필 설정

각 셸(PowerShell, CMD, WSL 등)은 개별 프로필로 관리됩니다. settings.json에서 프로필별 글꼴, 색상, 시작 디렉토리 등을 지정할 수 있습니다.

// settings.json - profiles 섹션
{
  "profiles": {
    "defaults": {
      // 모든 프로필에 공통 적용
      "font": {
        "face": "JetBrains Mono",
        "size": 13,
        "weight": "normal"
      },
      "opacity": 95,
      "useAcrylic": true,
      "padding": "12",
      "cursorShape": "filledBox",
      "scrollbarState": "hidden"
    },
    "list": [
      {
        "name": "PowerShell 7",
        "source": "Windows.Terminal.PowershellCore",
        "startingDirectory": "D:\\Projects",
        "colorScheme": "One Half Dark",
        "icon": "ms-appx:///ProfileIcons/pwsh.png",
        "tabTitle": "PS7"
      },
      {
        "name": "Ubuntu (WSL)",
        "source": "Windows.Terminal.Wsl",
        "startingDirectory": "~",
        "colorScheme": "Tango Dark",
        "tabTitle": "WSL"
      },
      {
        "name": "CMD",
        "commandline": "cmd.exe",
        "hidden": false,
        "colorScheme": "Campbell"
      }
    ]
  }
}

커스텀 색상 테마

내장 색상 스킴 외에 커스텀 테마를 정의할 수 있습니다.

// settings.json - schemes 섹션
{
  "schemes": [
    {
      "name": "My Custom Theme",
      "background": "#1E1E2E",
      "foreground": "#CDD6F4",
      "black": "#45475A",
      "red": "#F38BA8",
      "green": "#A6E3A1",
      "yellow": "#F9E2AF",
      "blue": "#89B4FA",
      "purple": "#CBA6F7",
      "cyan": "#94E2D5",
      "white": "#BAC2DE",
      "brightBlack": "#585B70",
      "brightRed": "#F38BA8",
      "brightGreen": "#A6E3A1",
      "brightYellow": "#F9E2AF",
      "brightBlue": "#89B4FA",
      "brightPurple": "#CBA6F7",
      "brightCyan": "#94E2D5",
      "brightWhite": "#A6ADC8",
      "cursorColor": "#F5E0DC",
      "selectionBackground": "#585B70"
    }
  ]
}

Oh My Posh 설치 및 테마 적용

Oh My Posh는 PowerShell, Bash, Zsh 등에서 사용할 수 있는 프롬프트 테마 엔진입니다. Git 상태, 실행 시간, 에러 코드 등을 프롬프트에 표시합니다.

# Oh My Posh 설치
winget install JanDeDobbeleer.OhMyPosh

# Nerd Font 설치 (아이콘 표시용)
oh-my-posh font install JetBrainsMono

# 사용 가능한 테마 목록 확인
Get-PoshThemes
# 출력: 50개 이상의 테마가 미리보기와 함께 표시됨

# PowerShell 프로필에 Oh My Posh 활성화
notepad $PROFILE
# 또는
code $PROFILE

PowerShell 프로필 파일에 다음을 추가합니다.

# $PROFILE 파일 내용 (Microsoft.PowerShell_profile.ps1)

# Oh My Posh 테마 활성화
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\catppuccin_mocha.omp.json" | Invoke-Expression

# 유용한 별칭 설정
Set-Alias -Name ll -Value Get-ChildItem
Set-Alias -Name g -Value git
Set-Alias -Name c -Value code

# 자동 완성 활성화
Set-PSReadLineOption -PredictiveViewStyle ListView
Set-PSReadLineOption -EditMode Windows
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete

# 프롬프트에 실행 시간 표시
Set-PSReadLineOption -PromptText "❯ "

단축키 설정

Windows Terminal의 단축키는 settings.jsonactions 배열에서 관리합니다.

// settings.json - actions 섹션
{
  "actions": [
    // 탭 관리
    { "command": "newTab", "keys": "ctrl+t" },
    { "command": "closeTab", "keys": "ctrl+w" },
    { "command": "nextTab", "keys": "ctrl+tab" },
    { "command": "prevTab", "keys": "ctrl+shift+tab" },

    // 분할 패널
    { "command": { "action": "splitPane", "split": "horizontal" }, "keys": "alt+shift+-" },
    { "command": { "action": "splitPane", "split": "vertical" }, "keys": "alt+shift+=" },
    { "command": "closePane", "keys": "ctrl+shift+w" },

    // 패널 간 이동
    { "command": { "action": "moveFocus", "direction": "up" }, "keys": "alt+up" },
    { "command": { "action": "moveFocus", "direction": "down" }, "keys": "alt+down" },
    { "command": { "action": "moveFocus", "direction": "left" }, "keys": "alt+left" },
    { "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" },

    // 패널 크기 조절
    { "command": { "action": "resizePane", "direction": "up" }, "keys": "alt+shift+up" },
    { "command": { "action": "resizePane", "direction": "down" }, "keys": "alt+shift+down" },

    // 특정 프로필로 새 탭 열기
    { "command": { "action": "newTab", "profile": "PowerShell 7" }, "keys": "ctrl+shift+1" },
    { "command": { "action": "newTab", "profile": "Ubuntu (WSL)" }, "keys": "ctrl+shift+2" },

    // 글꼴 크기 조절
    { "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+=" },
    { "command": { "action": "adjustFontSize", "delta": -1 }, "keys": "ctrl+-" },
    { "command": "resetFontSize", "keys": "ctrl+0" },

    // 검색
    { "command": "find", "keys": "ctrl+shift+f" },

    // 전체화면 토글
    { "command": "toggleFullscreen", "keys": "f11" }
  ]
}

분할 패널 활용

분할 패널을 사용하면 하나의 창에서 여러 셸을 동시에 볼 수 있습니다. 서버 로그를 보면서 코드를 편집하거나, 여러 환경을 비교할 때 유용합니다.

# 명령줄에서 분할 패널로 Terminal 실행
wt -p "PowerShell 7" `; split-pane -p "Ubuntu (WSL)" `; split-pane -H -p "CMD"
# 결과: PowerShell, WSL, CMD가 각각 분할된 패널에서 열림

# 특정 디렉토리에서 분할 패널 열기
wt -d D:\project1 `; split-pane -d D:\project2

# 분할 패널 크기 지정
wt `; split-pane --size 0.3 -p "Ubuntu (WSL)"
# WSL 패널이 전체의 30% 크기로 열림

Quake 모드

Quake 모드는 화면 상단에서 터미널이 슬라이드 다운되는 기능입니다. 전역 단축키로 어디서든 빠르게 터미널을 열 수 있습니다.

# Quake 모드로 Terminal 실행
wt -w _quake

# 전역 단축키 설정 (settings.json)
# "actions" 배열에 추가:
# { "command": { "action": "globalSummon", "desktop": "any" }, "keys": "win+`" }

유용한 셸 통합 설정

Terminal과 함께 사용하면 좋은 추가 도구들입니다.

# PSReadLine - 명령어 자동 완성 및 히스토리 검색
Install-Module PSReadLine -Force
# 프로필에 추가:
# Set-PSReadLineOption -PredictiveViewStyle ListView

# Terminal-Icons - 파일 목록에 아이콘 표시
Install-Module Terminal-Icons -Force
# 프로필에 추가:
# Import-Module Terminal-Icons

# z - 디렉토리 빠른 이동 (cd 대체)
Install-Module z -Force
# 사용 예시:
# z project  -> 자주 방문한 project 디렉토리로 이동

실전 팁

Windows Terminal을 효율적으로 사용하기 위한 핵심 포인트입니다.

  • 폰트: Nerd Font 계열(JetBrains Mono NF, FiraCode NF)을 사용해야 Oh My Posh 아이콘이 정상 표시됨
  • 투명도: useAcrylicopacity 조합으로 반투명 배경 설정 가능
  • 기본 터미널 변경: Windows 11에서 Settings → Privacy & Security → For Developers → Terminal에서 Windows Terminal을 기본으로 설정
  • 프로필 분리: 프로젝트별로 시작 디렉토리와 환경변수가 다른 프로필을 만들면 전환이 빠름
  • 백업: settings.json을 Git으로 관리하면 여러 PC에서 동일한 설정을 유지할 수 있음
  • 분할 패널: Alt+Shift+=(세로), Alt+Shift+-(가로)로 빠르게 분할하고 Alt+방향키로 이동

이 글이 도움이 되었나요?