๐งท tmux ์ ์ฉํ ์ค์ ์ ๋ฆฌ (.tmux.conf ๊ธฐ์ค)
๋ด tmux ์ค์ ์์ ๋ฐ๋ก ์ฒด๊ฐ๋๋ ์ต์ ๋ง ๋ฝ์ ํต์ฌ ๋์, ํจ๋, ์ธ์ ํธ๋ฆฌ, ํ๋ฌ๊ทธ์ธ๊น์ง ํ ๋ฒ์ ์ ๋ฆฌ.
์ค์ ๋ก ์ฐ๋ .tmux.conf์์ ์ฒด๊ฐ์ด ํฐ ์ต์
๋ง ๋ฐ๋ก ๋ชจ์๋ค. ๋ชฉ์ ์ โ์ ์ด ์ต์
์ ๋๋์งโ๋ฅผ ์์ง ์๊ฒ ๊ธฐ๋กํ๋ ๊ฒ์ด๋ค.
์ด ๊ธ์ tmux ๋ก๋๋งต์ 1๋จ๊ณ(์ค์ ๋ค๋ฌ๊ธฐ) ๋ค.
1. ๊ธฐ๋ณธ ๋์
ESC ์ง์ฐ ์ค์ด๊ธฐ
set -sg escape-time 0
Vim/Neovim์์ ESC์ Alt ๊ณ์ด ์ ๋ ฅ์ ๊ตฌ๋ถํ๊ธฐ ์ํด tmux๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ ์์ค๋ค. ๋ฐ์์ ๋นจ๋ผ์ง์ง๋ง ์ผ๋ถ ํฐ๋ฏธ๋ยทํค ์กฐํฉ์์ Alt/Meta ์ ๋ ฅ ํ๋ณ์ ์ํฅ์ ์ค ์ ์์ผ๋ฏ๋ก ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ์์ ๊ฐ์ผ๋ก ์กฐ์ ํ๋ค.
True Color
๋จผ์ tmux ์์์ ์ฌ์ฉํ terminal description์ ์ ํ๋ค.
set -g default-terminal "tmux-256color"
tmux-256color terminfo๊ฐ ์์คํ
์ ์กด์ฌํ๋์ง๋ ํ์ธํ๋ค.
1
infocmp -x tmux-256color
tmux 3.2+์์๋ ๋ฐ๊นฅ terminal emulator๊ฐ RGB color๋ฅผ ์ง์ํ๋ค๋ ์ฌ์ค์ terminal-features๋ก ์๋ ค์ฃผ๋ ๋ฐฉ์์ด ์ฐ์ ์ด๋ค.
์๋ฅผ ๋ค์ด Ghosttyยทxterm ๊ณ์ด TERM ๊ฐ์ ๋ง์ถฐ ๋ค์์ฒ๋ผ ์ค์ ํ ์ ์๋ค.
set -as terminal-features ",xterm*:RGB"
ํ๊ฒฝ์ ๋ฐ๋ผ TERM ํจํด์ ๋ฌ๋ผ์ง ์ ์์ผ๋ฏ๋ก tmux ๋ฐ์์ ๋ค์์ ๋จผ์ ํ์ธํ๋ค.
1
echo "$TERM"
๊ตฌ๋ฒ์ tmux๊น์ง ๊ณ ๋ คํด์ผ ํ๋ค๋ฉด terminal-overrides์ Tc ํ์ฅ์ ์ฌ์ฉํ ์ ์๋ค.
set -as terminal-overrides ",xterm*:Tc"
1
2
3
4
5
RGB
โ ๊ณต์ terminfo capability ์ด๋ฆ
Tc
โ tmux๊ฐ ์ ๊ณตํด ์จ ํ์ฅ capability
๋ฌด์กฐ๊ฑด *256col*์ True Color๋ฅผ ์ ์ธํ๊ธฐ๋ณด๋ค ์ค์ ๋ฐ๊นฅ terminal emulator์ TERM๊ณผ ๊ธฐ๋ฅ์ ํ์ธํ ๋ค ์ค์ ํ๋ ํธ์ด ์์ ํ๋ค.
๋ง์ฐ์ค
set -g mouse on
ํจ๋ ์ ํยทํฌ๊ธฐ ์กฐ์ ยท์คํฌ๋กค ๋ฑ mouse integration์ ํ์ฑํํ๋ค.
2. ํจ๋๊ณผ ํค ๋ฐ์ธ๋ฉ
๋ถํ ์ ํ์ฌ ๊ฒฝ๋ก ์ ์ง
bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
์ pane์ ํ์ฌ pane์ working directory์์ ์์ํ๋ค.
ํจ๋ ์ ๋ณด ํ์
set -g pane-border-status bottom
set -g pane-border-format " #P #{pane_current_command} "
pane ๋ฒํธ์ ํ์ฌ command๋ฅผ border์ ํ์ํ๋ค.
copy-mode์ vi ํค ์ฌ์ฉ
setw -g mode-keys vi
copy-mode์ key table์ vi ์คํ์ผ๋ก ์ฌ์ฉํ๋ค.
3. ์ธ์ ํธ๋ฆฌ ์ ๋ ฌ
bind s choose-tree -Zs -O name
choose-tree๋ฅผ ์ด๋ฆ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํด ์ฐ๋ค. tmux ๋ฒ์ ์ ๋ฐ๋ผ option ๋์์ด ๋ฌ๋ผ์ง ์ ์์ผ๋ฏ๋ก ๋ฐ์ธ๋ฉ์ด ์คํจํ๋ฉด ํ์ฌ tmux list-commands์ man page๋ฅผ ํ์ธํ๋ค.
4. TPM ํ๋ฌ๊ทธ์ธ
ํ๋ฌ๊ทธ์ธ ๋ชฉ๋กยท์ญํ ๊ณผ ์ค์ ์ Tmux ์ค์ & ํ๋ฌ๊ทธ์ธ ์ค๋ช ์ ๋ฐ๋ก ๋๋ค. ์ด ๊ธ์์๋ tmux core option๋ง ๋ค๋ฃฌ๋ค.
5. ์ ์ฉ๊ณผ ๋ฆฌ๋ก๋
TPM์ ์ฌ์ฉํ๋ค๋ฉด ์ด๊ธฐํ๋ ํ๋ฌ๊ทธ์ธ ์ ์ธ ๋ค์ ๋๋ค.
run '~/.tmux/plugins/tpm/tpm'
ํ์ฌ server์ ์ค์ ์ ๋ค์ ์ฝํ๋ ค๋ฉด:
1
tmux source-file ~/.tmux.conf
ํ์ธ ์์
์์ด๋ ํค ์ ๋ ฅ์ด ์ด์ํ ๋๋ ์ค์ ์ ๋ ๋ถ์ด๊ธฐ ์ ์ ๋ค์ ์์๋ก ํ์ธํ๋ค.
1
2
3
4
5
1. tmux ๋ฐ TERM ํ์ธ
2. tmux ์ TERM ํ์ธ
3. tmux-256color terminfo ์กด์ฌ ์ฌ๋ถ ํ์ธ
4. terminal-features / terminal-overrides ํ์ธ
5. ์ ํ๋ฆฌ์ผ์ด์
(Neovim ๋ฑ) ์ค์ ํ์ธ
ํฐ๋ฏธ๋ ๊ธฐ๋ฅ ๋ฌธ์ ๋ tmux ํ ์ธต๋ง์ ๋ฌธ์ ๊ฐ ์๋ ์ ์์ผ๋ฏ๋ก ๋ฐ terminal โ tmux โ ์์ชฝ application ์์ผ๋ก ๋ฒ์๋ฅผ ์ขํ๋ค.