LabHub
배우기 러닝패스 코스

vimとtmux

tmuxのペインとレイアウト

LabHub 에서 이어서 보기

한국어 원문으로 표시합니다.

목표

한 윈도우 안에서 페인을 나누고, 제목을 붙이고, 확대·동기화하고, 스크롤백을 파일로 남깁니다. 마지막에는 개발 레이아웃을 한 번에 재현하는 스크립트를 만듭니다.

왜 중요한가

페인은 "화면을 나누는 기능" 이상입니다. 편집기·서버·로그를 한 화면에 두면 컨텍스트 전환 비용이 사라지고, 여러 서버에 붙은 페인들을 동기화하면 같은 명령을 한 번에 실행할 수 있습니다. 그리고 실무에서 자주 빠뜨리는 것이 새 페인의 작업 디렉터리입니다 - 지정하지 않으면 홈에서 열려 매번 cd 를 다시 쳐야 합니다. 마지막으로 tmux 의 -h 는 "가로 분할"이 아니라 좌우 배치라는 뜻이라 거의 모든 사람이 한 번은 헷갈립니다. 말로 할 때는 좌우/상하로 부르는 편이 안전합니다.

단계

  1. panes 세션에 dev 라는 윈도우를 만들고 페인을 2개 이상으로 나누세요.
  2. dev 윈도우의 페인을 정확히 3개로 만드세요.
  3. 세 페인의 제목을 각각 editor, server, logs 로 지정하세요.
  4. dev 윈도우의 페인 하나를 확대(zoom) 상태로 두세요.
  5. 제목이 logs 인 페인에서 tail -f 가 계속 실행되게 하세요.
  6. dev 윈도우의 페인 동기화(synchronize-panes)를 켜세요.
  7. 페인 하나에서 labhub-pane-check 를 출력하고 이어서 seq 1 100 을 실행한 뒤, 그 페인의 스크롤백 전체/root/tmux/pane.log 로 저장하세요. 파일에는 labhub-pane-check100 이 모두 들어 있어야 하고 100줄 이상이어야 합니다.
  8. /root/tmux/dev.sh <세션이름> 을 만드세요. 인자로 받은 이름의 세션을 붙지 않고 만들고, dev 윈도우에 페인 3개를 두되 제목은 editor/server/logs, 그리고 editor 페인의 작업 디렉터리는 /root/tmux 여야 합니다.

참고

페인 나누기

panes 세션에 dev 라는 윈도우를 만들고 페인을 2개 이상으로 나누세요.

prefix + % 는 좌우, prefix + " 는 상하로 나눕니다. CLI 로는 split-window 입니다.

3분할 만들기

dev 윈도우의 페인을 정확히 3개로 만드세요.

이미 나눈 페인을 한 번 더 나눕니다. 어느 페인이 활성인지에 따라 나뉘는 위치가 달라집니다.

페인에 제목 붙이기

세 페인의 제목을 각각 editor, server, logs 로 지정하세요.

select-pane 에 제목을 지정하는 옵션이 있습니다. 페인마다 따로 붙여야 합니다.

페인 확대하기

dev 윈도우의 페인 하나를 확대(zoom) 상태로 두세요.

prefix + z 로 토글합니다. 채점 시점에 확대 상태로 두세요.

logs 페인에서 로그 따라붙기

제목이 logs 인 페인에서 tail -f 가 계속 실행되게 하세요.

제목이 logs 인 페인에서 tail -f 를 실행합니다. 대상 페인을 지정해 send-keys 로 보낼 수도 있습니다.

페인 동기화 켜기

dev 윈도우의 페인 동기화(synchronize-panes)를 켜세요.

윈도우 옵션이므로 setw 를 씁니다. 켜면 입력이 모든 페인에 동시에 갑니다.

스크롤백 파일로 저장하기

페인 하나에서 labhub-pane-check 를 출력하고 이어서 seq 1 100 을 실행한 뒤, 그 페인의 스크롤백 전체/root/tmux/pane.log 로 저장하세요. 파일에는 labhub-pane-check100 이 모두 들어 있어야 하고 100줄 이상이어야 합니다.

capture-pane 은 기본적으로 보이는 화면만 담습니다. 시작 지점을 스크롤백 맨 위로 지정하는 옵션이 필요합니다.

개발 레이아웃 스크립트

/root/tmux/dev.sh <세션이름> 을 만드세요. 인자로 받은 이름의 세션을 붙지 않고 만들고, dev 윈도우에 페인 3개를 두되 제목은 editor/server/logs, 그리고 editor 페인의 작업 디렉터리는 /root/tmux 여야 합니다.

새 페인은 지정하지 않으면 홈에서 열립니다. 작업 디렉터리를 명시하는 옵션을 찾아보세요.