tmux

seunghyun·2026년 4월 23일

Agentic Programming

목록 보기
2/6

왜 좋은지?

다른 터미널 앱을 쓰던 때랑 비교해서, tmux를 쓰면서 그 미묘한 불편함들이 해소되는게 좋아서 계속 써보고 있고, 이것저것 써보면서 메모 중인 글이다. (더 채워질 예정)

tmux (terminal multiplexer; since 2007-)

  • tmux 클라-서버 구조 덕분에 이미 19년이 되는 시간 동안 유명한 도구인데 ai 에이전트 시대에 생산성에서 특히 더 빛을 발하고 있다.

  • https://github.com/tmux/tmux/releases

  • 클로드 에이전트 팀 기능에 공식 지원된다고 문서에서 언급되어서 개발자들이 요즘 더 많이 사용한다고 한다. (물론 tmux 없이도 가능하지만 분할 화면 지원은 안됨)

  • 터미널 앱 (터미널 애뮬레이터) 에서 tmux 클라이언트로 tmux 서버를 실행하고 tmux 서버에서 shell을 실행하므로 터미널 앱 애뮬레이터를 닫아도 shell은 그대로 남아있기 때문에 세션이 유지될 수 있는 형태이다.

    $ tmux attach
  • 3계층 구조로 이뤄짐

    • session
      • window
        • pane
    • 보통 각 프로젝트 별로 window, window 안에서 pane을 여러 개 나눠 쓴다.
  • prefix ctrl b + 단축키

    • prefix인 ctrl b 이후 https://tmuxcheatsheet.com/ 에서 단축키를 참고하여 쓸 수 있다.
    • window 추가 ctrl b c
    • pane 나누기
      • ctrl b % : horizontal
      • ctrl b “ : vertical
  • 터미널 에뮬레이터 ghostty 와 터미널 멀티플렉서 tmux 조합이 좋은 것 같다.

    • 탭 관리나 화면 분할은 멀티플렉서에서도 되므로 에뮬레이터는 가벼운 성능이 중요해서, 그 관점에서

    • ghostty는 gpu가속으로 빠른 동작 및 적은 cpu 저장 공간 차지에서 유리하다. 참고로 이 ghostty 개발자인 Mitchell Hashimoto라는 분이 하네스 엔지니어링을 처음 언급한 분이다 → 그 분의 블로그 글 My AI Adoption Journey에서 언급하심

tmux 기존 script를 조합하여 custom scripting 을 할 수 있는 것도 특장점이다.

  • 예를 들어 tmux에선 send라는 스크립트가 있는데 pane간 명령어 전달이 가능하고,

  • capture-pane으로는 현재 pane이 속한 project가 아닌 다른 project로 로그나 히스토리 전달이 가능하다.

  • 그래서 에이전트가 컨트롤할 수 있다는 면에서 궁합이 좋다.


단축키

https://tmuxcheatsheet.com/

session

명령동작
tmux new -s 이름이름 붙여서 새 세션 생성
tmux ls세션 목록 보기
tmux a마지막 세션에 다시 붙기
tmux a -t 이름특정 세션에 붙기
tmux kill-session -t 이름특정 세션 종료
tmux kill-server모든 tmux 종료

session — tmux

동작
<P>dDetach (작업 유지한 채 나가기)
<P>s세션 목록 보고 전환
<P>$세션 이름 바꾸기
<P>(이전 세션
<P>)다음 세션

window

동작
<P>c새 윈도우 생성
<P>n다음 윈도우
<P>p이전 윈도우
<P>0 ~ 9해당 번호 윈도우로
<P>L직전 윈도우 (커스텀)
<P>,윈도우 이름 변경
<P>w윈도우 목록
<P>&현재 윈도우 닫기
<P>f윈도우 검색

pane

동작
<P>%좌우로 분할
<P>"위아래로 분할
<P>Tab오른쪽에 yazi 열기 (커스텀)
<P>z현재 패널 확대 ↔ 복원
<P>x현재 패널 닫기
<P>!현재 패널을 새 윈도우로 분리
<P>q패널 번호 표시
<P>q → 번호해당 번호 패널로 이동
<P>{현재 패널을 왼쪽으로 이동
<P>}현재 패널을 오른쪽으로 이동
<P>Space패널 레이아웃 순환 변경

패널 이동 (Prefix 없이!)

동작
⌥ + h왼쪽 패널
⌥ + j아래 패널
⌥ + k위 패널
⌥ + l오른쪽 패널

패널 크기 조절

동작
<P> / / / 방향으로 크기 조절
마우스 드래그패널 경계를 드래그로 조절

copy mode

동작
<P>[copy-mode 진입
q 또는 Esccopy-mode 나가기
h / j / k / l좌/하/상/우 이동
Ctrl + u반 페이지 위
Ctrl + d반 페이지 아래
g맨 위
G맨 아래
/앞으로 검색
?뒤로 검색
n / N다음 / 이전 검색 결과
v선택 시작
y복사 후 종료 (Mac 클립보드로)
Enter복사 후 종료

mouse on

동작결과
패널 클릭해당 패널로 포커스 이동
경계 드래그패널 크기 조절
스크롤 휠copy-mode 자동 진입 + 스크롤
텍스트 드래그자동 복사 (pbcopy)
윈도우 탭 클릭해당 윈도우로 이동

설정 & 플러그인

동작
<P>r.tmux.conf 리로드 (커스텀)
<P>Shift + I플러그인 설치 (TPM)
<P>Shift + U플러그인 업데이트
<P>⌥ + u사용 안 하는 플러그인 제거
<P>Ctrl + s세션 저장 (resurrect)
<P>Ctrl + r세션 복원 (resurrect)

기타 유용

동작
<P>:명령 프롬프트 (tmux 명령 직접 입력)
<P>?모든 단축키 목록 보기
<P>t큰 시계 표시
<P><P>중첩 tmux에 Prefix 전달

0개의 댓글