사용자 검수 전 — Pane 분할·이동·확대와 Session detach·attach를 구분한다. Window와 무엇이 다른지 판단하는 기준을 함께 둔다.
§ 00 · Pane — 동시에 봐야 할 화면만 나눈다
Pane은 한 Window 안의 분할 화면이다. 서버 로그를 보며 명령을 실행하는 것처럼 두 화면을 동시에 비교해야 할 때 유용하다. 각각은 별도 터미널과 프로그램을 가진다.
C-b %는 좌우로, C-b "는 위아래로 나눈다. C-b 방향키는 인접 Pane으로, C-b o는 다음 Pane으로 이동한다. C-b q는 Pane 번호를 잠시 표시하고, C-b z는 active Pane을 확대하거나 원래 배치로 되돌린다. C-b x는 active Pane을 닫을지 확인한다.
§ 01 · Session — 화면에서 떼어도 작업을 남긴다
Session은 여러 Window의 묶음이다. C-b d는 프로그램을 종료하지 않고 현재 Client만 Session에서 detach한다. 바깥 셸로 돌아오지만 tmux server와 Session 안의 프로그램은 계속 실행될 수 있다.
나중에 셸에서 tmux attach로 다시 붙는다. Session이 여러 개라면 tmux list-sessions로 이름을 확인하고 tmux attach -t 이름으로 고른다. C-b s는 붙어 있는 상태에서 Session 목록을 연다. Session 이름은 C-b $로 바꿀 수 있다.
§ 02 · 지난 출력 보기 — C-b [로 copy mode에 들어간다
터미널의 일반 스크롤이 tmux의 과거 출력과 맞지 않을 때 C-b [로 copy mode에 들어간다. 방향키와 Page Up·Page Down으로 이동하고 q로 나온다. 텍스트 선택과 복사 키는 mode-keys가 emacs인지 vi인지에 따라 달라질 수 있다.
C-b ]는 tmux paste buffer의 내용을 붙인다. 운영체제 클립보드와 tmux buffer는 같은 것이 아닐 수 있다. 마우스 스크롤과 클립보드 연동은 mouse 옵션과 터미널 설정의 영향을 받으므로 기본 단축키와 구분한다.
§ 03 · 무엇을 나눌까 — 목적이 다르면 Window, 함께 봐야 하면 Pane
작업 목적이 다르고 화면 전체가 필요하면 Window를 나눈다. 같은 작업에서 동시에 비교할 화면이면 Pane을 나눈다. 프로젝트나 접속 대상을 통째로 분리하고 한 묶음으로 detach하려면 Session을 나눈다.
Pane을 많이 만들수록 글자가 작아지고 active Pane을 놓치기 쉽다. 처음에는 Window를 기본 단위로 삼고, 정말 동시에 볼 두 화면만 Pane으로 나누는 편이 단순하다.
Read this note at sass.studio.