Post

๐Ÿงท tmux ์ •๋ฆฌ๋ณธ (Cheat Sheet + ์‚ฌ์šฉ ๊ฐ€์ด๋“œ)

ํ„ฐ๋ฏธ๋„์„ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์„ธ์…˜์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” tmux ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•œ ๋‚ด์šฉ

๐Ÿงท tmux ์ •๋ฆฌ๋ณธ (Cheat Sheet + ์‚ฌ์šฉ ๊ฐ€์ด๋“œ)

๐Ÿงท 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์— ์ถ”๊ฐ€:
1
set -g mouse on

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
This post is licensed under CC BY 4.0 by the author.