๐งท tmux ์ ์ฉํ ์ค์ ์ ๋ฆฌ (.tmux.conf ๊ธฐ์ค)
๋ด tmux ์ค์ ์์ ๋ฐ๋ก ์ฒด๊ฐ๋๋ ์ต์ ๋ง ๋ฝ์ ํต์ฌ ๋์, ํจ๋, ์ธ์ ํธ๋ฆฌ, ํ๋ฌ๊ทธ์ธ๊น์ง ํ ๋ฒ์ ์ ๋ฆฌ.
๐งท tmux ์ ์ฉํ ์ค์ ์ ๋ฆฌ (.tmux.conf ๊ธฐ์ค)
์ค์ ๋ก ์ฐ๋ .tmux.conf์์ ์ฒด๊ฐ์ด ํฐ ์ต์
๋ง ๋ฐ๋ก ๋ชจ์๋ค. ๋ชฉ์ ์ โ์ ์ด ์ต์
์ ๋๋์งโ๋ฅผ ์์ง ์๊ฒ ๊ธฐ๋กํ๋ ๊ฒ.
1. ๊ธฐ๋ณธ ๋์
1) ESC ์ง์ฐ ์ ๊ฑฐ
set -sg escape-time 0
Vim/Neovim์์ ESC ๋ฐ์์ด ์ฆ๊ฐ์ ์ผ๋ก ๋๊ปด์ ธ์ ์ ๋ ฅ ๋ฆฌ๋ฌ์ด ๋ถ๋๋ฝ๋ค.
2) True Color ํ์ฑํ
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*256col*:Tc"
tmux ์์์๋ ํ ๋ง ์์ด ํ๋ ค์ง์ง ์๊ฒ ๋ณด์ธ๋ค.
3) ๋ง์ฐ์ค ํ์ฑํ
set -g mouse on
ํจ๋ ํฌ๊ธฐ ์กฐ์ ์ด๋ ์คํฌ๋กค์ด ๋ฐ๋ก ๊ฐ๋ฅํด์ ์ํฉ์ ๋ฐ๋ผ ํธํ๋ค.
2. ํจ๋/ํค๋ฐ์ธ๋ฉ
1) ๋ถํ ์ ํ์ฌ ๊ฒฝ๋ก ์ ์ง
bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
๋ถํ ํ์๋ ํ์ฌ ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ด์ด๊ฐ์ ํ๋ฆ์ด ๋๊ธฐ์ง ์๋๋ค.
2) ํจ๋ ์ ๋ณด ํ์
set -g pane-border-status bottom
set -g pane-border-format " #P #{pane_current_command} "
ํจ๋ ๋ฒํธ์ ํ์ฌ ๋ช ๋ น์ด๋ฅผ ๋ฐ๋ก ํ์ธํ ์ ์์ด ์ ํ์ด ๋น ๋ฅด๋ค.
3) ๋ณต์ฌ ๋ชจ๋ vi ํค
setw -g mode-keys vi
vi ํค๋ก ๋ณต์ฌ ๋ชจ๋๋ฅผ ๋ค๋ฃจ๋ฉด ์์ด ๋ ํท๊ฐ๋ฆฐ๋ค.
3. ์ธ์ ํธ๋ฆฌ ์ ๋ ฌ
1) ์ด๋ฆ ๊ธฐ์ค ์ ๋ ฌ
bind s choose-tree -Zs -O name
์ธ์ /์๋์ฐ ๋ชฉ๋ก์ ์ด๋ฆ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํด์ ๋น ๋ฅด๊ฒ ์ฐพ๋๋ค.
4. TPM ํ๋ฌ๊ทธ์ธ ๊ตฌ์ฑ
1) ํ๋ฌ๊ทธ์ธ ๋ชฉ๋ก
set -g @plugin 'tmux-plugins/tpm'
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'
- tmux-sensible: ๊ธฐ๋ณธ๊ฐ์ sane default๋ก ์ ๋ฆฌ
- vim-tmux-navigator: Ctrl+h/j/k/l๋ก vim โ tmux ์ด๋
- tmux-themepack: ์ํ๋ฐ ํ ๋ง๋ฅผ ๊ฐ๋จํ ์ ์ฉ
- tmux-resurrect: ์ธ์ /ํจ๋ ์ํ ์ ์ฅ & ๋ณต์
- tmux-continuum: ์๋ ์ ์ฅ/์๋ ๋ณต์
2) ํ ๋ง ์ ํ
set -g @themepack 'powerline/default/cyan'
3) ๋ณต์ ์ต์
set -g @resurrect-capture-pane-contents 'on'
set -g @continuum-restore 'on'
5. ์ ์ฉ/๋ฆฌ๋ก๋
1) TPM ์ด๊ธฐํ (ํญ์ ๋ง์ง๋ง ์ค)
run '~/.tmux/plugins/tpm/tpm'
2) ์ค์ ๋ฆฌ๋ก๋
1
tmux source-file ~/.tmux.conf