tmux
를 어디선가 보고 엄청 멋지다 싶어서 검색했더니 @nanhapark님이 재미있게 정리한 글이 있어서 편하게 볼 수 있었다. 읽은 글들은 다음 목록에서 확인할 수 있고, 읽으며 요약해 정리했다. (nodeqa.com에 해당 글이 있었는데 사이트가 더이상 운영되지 않아 링크를 제거했다.)
tmux 설치하기
맥에서는 brew로 설치 가능
$ brew install tmux
tmux 구성
- session : tmux 실행 단위. 여러개의 window로 구성.
- window : 터미널 화면. 세션 내에서 탭처럼 사용할 수 있음.
- pane : 하나의 window 내에서 화면 분할.
- status bar : 화면 아래 표시되는 상태 막대.
명령어 정리
tmux는 prefix 키인 ctrl+b
를 누른 후 다음 명령 키를 눌러야 동작할 수 있다. 다음 내용에서 ctrl + b, 어쩌고
내용이 있다면 tmux 내에서 쓸 수 있는 단축키다.
ctrl + b, <key>
일부 직접 명령어를 입력해야 할 때는 명령어 모드로 진입해야 한다. 명령어 모드의 key는 :
다.
ctrl + b, :
세션 관련
# 새 세션 생성
$ tmux new -s <session-name>
# 세션 이름 수정
ctrl + b, $
# 세션 종료
$ (tmux에서) exit
# 세션 중단하기 (detached)
ctrl + b, d
# 세션 목록 보기 (list-session)
$ tmux ls
# 세션 다시 시작
$ tmux attach -t <session-number or session-name>
윈도우 관련
# 새 윈도우 생성
ctrl + b, c
# 세션 생성시 윈도우랑 같이 생성
$ tmux new -s <session-name> -n <window-name>
# 윈도우 이름 수정
ctrl + b, ,
# 윈도우 종료
ctrl + b, &
ctrl + d
# 윈도우 이동
ctrl + b, 0-9 : window number
n : next window
p : prev window
l : last window
w : window selector
f : find by name
틀 pane 관련
# 틀 나누기
ctrl + b, % : 횡 분할
" : 종 분할
# 틀 이동
ctrl + b, q 그리고 화면에 나오는 숫자키
ctrl + b, o : 순서대로 이동
ctrl + b, arrow : 방향키로 숑숑
# 틀 삭제
ctrl + b, x
ctrl + d
# 틀 사이즈 조절
(ctrl + b, :)
resize-pane -L 10
-R 10
-D 10
-U 10
# 틀 레이아웃 변경
ctrl + b, spacebar
단축키 관련
# 단축키 목록
ctrl + b, ?
# 키 연결 및 해제 bind and unbind
(ctrl + b, :)
bind-key [-cnr] [-t key-table] key command [arguments]
unbind-key [-acn] [t key-table] key
# 옵션 설정 `set` and `setw`
set -g <option-name> <option-value> : set-option
setw -g <option-name> <option-value> : set-window-option
copy mode 1
copy mode에서는 콘솔을 스크롤 하거나 내용을 복사하는 등의 기능을 할 수 있다.
# copy mode 진입
ctrl + b, [
# 빠져나오기
(copy mode에서) q or ESC
# 이동
arrow : 커서 이동
pageUp, pageDown : 페이지 이동 (iTerm에서는 fn + up, down, terminal에서는 alt + up, down)
설정 저장하기 tmux.conf
~/.tmux.conf 파일을 생성해 설정을 저장해두면 시작할 때 자동으로 설정을 불러온다. 컬러 설정, 마우스 설정
이것저것 해보다 알게 된건데 iTerm에서 tmux로 만든 세션을 다른 terminal에서 접속하면 동시에 동작한다.