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.json의 actions 배열에서 관리합니다.
// 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 아이콘이 정상 표시됨
- 투명도:
useAcrylic과opacity조합으로 반투명 배경 설정 가능 - 기본 터미널 변경: Windows 11에서 Settings → Privacy & Security → For Developers → Terminal에서 Windows Terminal을 기본으로 설정
- 프로필 분리: 프로젝트별로 시작 디렉토리와 환경변수가 다른 프로필을 만들면 전환이 빠름
- 백업:
settings.json을 Git으로 관리하면 여러 PC에서 동일한 설정을 유지할 수 있음 - 분할 패널:
Alt+Shift+=(세로),Alt+Shift+-(가로)로 빠르게 분할하고Alt+방향키로 이동