본문 바로가기
C.W.K.
Stream
Lesson 02 of 03 · published

세션, Window, Pane — 키 맵

~16 min · tmux, sessions, windows, panes

Level 0갇힌 자
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

Prefix 키

tmux의 명령은 전부 prefix를 누른 다음 키 하나로 발동해. 기본 prefix는 Ctrl-b고, 많은 사람이 Ctrl-a로 바꿔 써 (트랙 6). 지금은 기본값 그대로 갈게. 아래에서 "prefix + X"라고 쓰면 Ctrl-b를 누르고, 떼고, X를 누르라는 뜻이야.

세션 — 프로젝트 단위 작업 공간

프로젝트마다 세션 하나가 좋은 규칙이야. 세션에는 이름을 붙일 수 있고, 다시 붙을 때 그 이름으로 찾아. 세션 안에서는 window와 pane이 화면 배치를 맡고.

Window — 탭 같은데 안 사라져

window는 탭에 해당하는 층이야. window마다 자기 pane 묶음을 갖고 있어. 대부분 프로젝트당 세 개에서 다섯 개쯤 두게 돼. "editor", "server", "shell", "logs", "git" 이런 식으로.

Pane — window를 나눈 칸

실제 셸이 사는 곳이 pane이야. prefix + "는 가로로 나눠서 위아래로 놓고, prefix + %는 세로로 나눠서 좌우로 놔. 기본 배정이 기억하기 나쁘다 보니 다들 prefix + -prefix + |로 바꿔 쓰는데, 그건 트랙 6에서 할게.

결정적인 pane 동작: zoom

prefix + z가 지금 pane을 전체 화면으로 키웠다 줄였다 해. zoom이 걸리면 그 pane이 window 전체를 차지하고, 다시 누르면 원래 자리로 돌아가. "잠깐 이거 하나만 집중해서 봐야겠다" 싶을 때 쓰고, 다 보면 풀어서 여러 pane 화면으로 돌아오면 돼. Ctrl-b 자체를 빼면 가장 자주 쓰는 tmux 명령이야.

세션은 상태를 붙들고, window와 pane은 배치를 붙들어. 재부팅하면 세션은 죽어 (트랙 6의 tmux-resurrect로 저장해두지 않았다면). detach만 하면 세션은 계속 살아 있고. tmux에서 뭘 안 잃어버리게 하는 작업은 결국 대부분 세션을 제대로 잡는 얘기야.

Code

세션 — 셸에서·bash
tmux                        # 새 이름 없는 세션 (자동 번호)
tmux new -s myproject       # 새 이름 있는 세션
tmux ls                     # 모든 세션 리스트
tmux attach                 # 가장 최근에 attach
tmux attach -t myproject    # 이름으로 attach
tmux kill-session -t name   # 한 세션 kill
tmux kill-server            # 모든 세션 kill (핵 옵션)
세션 — tmux 안에서 (prefix = Ctrl-b)·text
prefix + d        세션에서 detach
prefix + s        세션 대화형 리스트 (화살표로 고름)
prefix + $        현재 세션 이름 변경
prefix + (        이전 세션
prefix + )        다음 세션
Window·text
prefix + c        새 window 생성
prefix + n        다음 window
prefix + p        이전 window
prefix + 0..9     번호로 window 전환
prefix + ,        현재 window 이름 변경
prefix + w        window 대화형 리스트
prefix + &        현재 window kill (confirm 와)
prefix + l        last (가장 최근) window — 토글
Pane·text
prefix + "        가로 split (위/아래)
prefix + %        세로 split (왼/오)
prefix + 화살표   pane 사이 이동
prefix + z        현재 pane ZOOM (풀스크린 토글)
prefix + x        현재 pane kill (confirm 와)
prefix + {        이전 pane 과 swap
prefix + }        다음 pane 과 swap
prefix + Space    프리셋 레이아웃 순환
prefix + q        pane 번호 표시; 번호 누르면 점프
prefix + !        현재 pane 을 자체 window 로 분리
prefix + ;        last (가장 최근) pane 토글
Pane 리사이즈·text
prefix + Ctrl-화살표   1 셀씩 리사이즈
prefix + Alt-화살표    5 셀씩 리사이즈 (일부 터미널)

# 또는 명령 모드로:
prefix + :
resize-pane -D 10     아래 10
resize-pane -U 5      위 5
resize-pane -L 10     왼 10
resize-pane -R 10     오 10

External links

Exercise

새 터미널을 열고 tmux new -s warmup을 실행해. tmux 안에서 순서대로 해봐. (1) prefix + %로 pane을 좌우로 나누기, (2) 오른쪽 pane에서 htop 띄우기, (3) prefix + z로 htop을 키웠다가 다시 눌러 줄이기, (4) prefix + c로 두 번째 window를 만들고 top 띄우기, (5) prefix + 0으로 첫 window로 돌아오기, (6) prefix + d로 빠져나오기. 그다음 tmux attach -t warmup으로 다시 붙어 — 전부 그대로여야 해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.