π§· tmux μ 리본 (Cheat Sheet + μ¬μ© κ°μ΄λ)
tmuxλ μ¬λ¬ κ°μ ν°λ―Έλ μΈμ
μ μμ±νκ³ κ΄λ¦¬ν μ μκ² ν΄μ£Όλ ν°λ―Έλ λ©ν°νλ μμ΄λ€. ν μΈμ
μμ μ¬λ¬ κ°μ μλμ°(window) β ν¨λ(pane) μ λ μ μλ€.
ꡬ쑰: μΈμ
(Session) > μλμ°(Window) > ν¨λ(Pane)
1. μ€μΉ
1
2
3
| brew install tmux # macOS
sudo apt-get install tmux # Ubuntu
sudo yum install tmux # CentOS
|
2. μ€μ νμΌ
tmux μ€μ μ ~/.tmux.conf μ μμ±νλ€. tmux μ€ν μ μλ λ‘λλλ©°, μ¬λ‘λλ μλ λͺ
λ Ήμ΄λ‘ κ°λ₯:
1
| tmux source-file ~/.tmux.conf
|
3. κΈ°λ³Έ μ¬μ©λ²
π μΈμ
(Session)
β μΈμ
μμ±
1
2
3
4
| tmux
tmux new
tmux new-session
tmux new -s sessionname
|
β μΈμ
μ μ
1
2
3
4
| tmux attach
tmux attach-session
tmux a
tmux a -t sessionname
|
β μΈμ
μ’
λ£
1
2
| tmux kill-session
tmux kill-session -t sessionname
|
β μμ£Ό μ°λ λ¨μΆν€
| λ¨μΆν€ | μ€λͺ
|
|---|
Ctrl+b + $ | μΈμ
μ΄λ¦ λ³κ²½ |
Ctrl+b + d | μΈμ
detach |
Ctrl+b + ) | λ€μ μΈμ
|
Ctrl+b + ( | μ΄μ μΈμ
|
Ctrl+b + w | μΈμ
/μ°½ 리μ€νΈ 보기 |
4. μλμ°(Window)
λΈλΌμ°μ νμ²λΌ νλμ μΈμ
μμμ μ¬λ¬ μ°½μ μ¬μ©ν μ μλ€.
β λ¨μΆν€
| λ¨μΆν€ | μ€λͺ
|
|---|
Ctrl+b + c | μ μλμ° μμ± |
Ctrl+b + n | λ€μ μλμ° |
Ctrl+b + p | μ΄μ μλμ° |
Ctrl+b + l | λ§μ§λ§μΌλ‘ μ¬μ©ν μλμ° |
Ctrl+b + μ«μ | λ²νΈλ‘ μ΄λ |
Ctrl+b + ' | μ΄λ¦μΌλ‘ κ²μνμ¬ μ΄λ |
Ctrl+b + , | μλμ° μ΄λ¦ λ³κ²½ |
Ctrl+b + . | μλμ° λ²νΈ λ³κ²½ |
Ctrl+b + & | μλμ° μ’
λ£ |
Ctrl+b + f | μλμ° κ²μ |
Ctrl+b + z | ν¨λ νλ/μΆμ(toggle zoom) |
β μλμ° ν©μΉκΈ°/λΆλ¦¬ λ±
(Ctrl+b + : λ‘ λͺ
λ Ήμ°½ μ΄κΈ°)
1
2
3
4
| join-pane -s 2 -t 1 # 2λ² μλμ°λ₯Ό 1λ² μλμ°λ‘ ν©μΉκΈ°
break-pane -s 1 -t 2 # 1λ² μλμ°λ₯Ό 2λ² μλμ°λ‘ λΆλ¦¬
swap-pane -s 1 -t 2 # λ ν¨λ κ΅ν
swap-window -s 1 -t 2 # λ μλμ° κ΅ν
|
5. ν¨λ(Pane)
μλμ° λ΄λΆλ₯Ό μ¬λ¬ μμμΌλ‘ λλμ΄ μ¬μ©ν μ μλ€.
β ν¨λ λΆλ¦¬(split)
| λ¨μΆν€ | μ€λͺ
|
|---|
Ctrl+b + % | μΈλ‘ λΆν (vertical) |
Ctrl+b + " | κ°λ‘ λΆν (horizontal) |
β ν¨λ μ΄λ
| λ¨μΆν€ | μ€λͺ
|
|---|
Ctrl+b + β / β / β / β | λ°©ν₯ν€λ‘ μ΄λ |
Ctrl+b + o | λ€μ ν¨λ |
Ctrl+b + ; | μ΄μ ν¨λ |
Ctrl+b + { / } | ν¨λ μμΉ μ΄λ |
Ctrl+b + ! | ν¨λμ μ μλμ°λ‘ λΆλ¦¬ |
Ctrl+b + x | ν¨λ μ’
λ£ |
Ctrl+b + Ctrl+o | ν¨λ μν(swap) |
β ν¨λ ν¬κΈ° μ‘°μ
(Ctrl+b + : λͺ
λ Ήμ°½μμ μ€ν)
1
2
3
4
5
6
7
8
9
10
11
| resize-pane -D
resize-pane -U
resize-pane -L
resize-pane -R
resize-pane -D 10 # 10μΉΈ λ³κ²½
resize-pane -U 10
resize-pane -L 10
resize-pane -R 10
ctrl + b λ₯Ό λλ₯΄κ³ option + λ°©ν₯ν€λ‘ μ¬μ΄γ
μ‘°μ (macOS)
|
6. 볡μ¬/λΆμ¬λ£κΈ°(Copy Mode)
β μ§μ
/μ’
λ£
Ctrl+b + [ : 볡μ¬λͺ¨λ μ§μ
Ctrl+b + ] : λΆμ¬λ£κΈ°
β 볡μ¬λͺ¨λ λ¨μΆν€
| ν€ | μ€λͺ
|
|---|
| Space | μ ν μμ |
| Enter | μ ν λ³΅μ¬ |
| Esc | μ ν μ·¨μ |
| g / G | μ/μλ λ μ΄λ |
| h/j/k/l | λ°©ν₯ μ΄λ |
| / | κ²μ |
| # | paste buffer λͺ©λ‘ |
| q | μ’
λ£ |
7. μ€ν¬λ‘€
- ν€λ³΄λλ‘:
Ctrl+b + [ β β/β - λ§μ°μ€λ‘ μ€ν¬λ‘€νλ €λ©΄
.tmux.confμ μΆκ°:
8. Tmux Plugin Manager (TPM)
tmux νλ¬κ·ΈμΈμ κ΄λ¦¬ν΄μ£Όλ ν΄.
β μ€μΉ
1
| git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
β .tmux.conf μ€μ μμ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| # --- TPM ---
set -g @plugin 'tmux-plugins/tpm'
# plugin list
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'jimeh/tmux-themepack'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# themepack config
set -g @themepack 'powerline/default/cyan'
# resurrect
set -g @resurrect-capture-pane-contents 'on'
set -g @continuum-restore 'on'
# tmux settings
set -g default-terminal "screen-256color"
set -g mouse on
# initialize TPM
run '~/.tmux/plugins/tpm/tpm'
|
β νλ¬κ·ΈμΈ μ€μΉ
tmux λ΄μμ:
1
2
3
4
| Ctrl+b + :
source-file ~/.tmux.conf
Ctrl+b + I # Plugin Install
|
9. Resurrect/Continuum ν
μΈμ
μ killνλλ°λ λ€μ μ΄μλλ κ²½μ°κ° μλ€λ©΄ tmux-resurrect + tmux-continuumμ μλ 볡μ κΈ°λ₯ λλ¬Έμ΄λ€. @continuum-restore 'on' μνμμλ tmux μμ μμ μ λ§μ§λ§ μ μ₯ μνλ₯Ό μλμΌλ‘ 볡μνλ€.
β 볡μ λ°μ΄ν° μ μ₯ μμΉ
1
| ~/.local/share/tmux/resurrect/
|
β 볡μ λ°μ΄ν° μμ (μ΄κΈ°ν)
1
2
| tmux kill-server
rm -rf ~/.local/share/tmux/resurrect/*
|
β μλ 볡μ λκΈ°
1
| set -g @continuum-restore 'off'
|