๐งท 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
| 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
|
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
|