구현하는 기능이 늘어날 수록 다수의 터미널을 사용하게 됩니다. 1개의 터미널 화면에서 복수의 분할 화면을 사용하도록 돕는 유틸리티중 screen
와 tmux
2가지가 있는데 screen
은 분할된 Session 이 불안정 하다는 내용이 있어서 tmux
를 사용해 보겠습니다. 아래의 내용은 Tmux를 쉽게 사용하기(tmux.conf 파일 설정) 를 참고 하였습니다.
Install
$ sudo apt-get install tmux
$ nvim ~/.tmux.conf
$ tmux
$ tmux source-file ~/.tmux.conf
Setting
아래의 설정 내용을 tmux.conf
에 정의하면 다음과 같은 단축키를 활용할 수 있습니다.
- pane 가로 나누기 : ctrl+a, -
-
pane 세로 나누기 : ctrl+a, - pane 간 이동하기 : alt + 방향키
- pane 삭제하기 : ctrl+d
-
pane 크기 조절 : ctrl+a 누른 상태에서 방향키
- window 생성하기 : ctrl+a, c
- window 삭제하기 : ctrl+d
- window 이동하기 : ctrl+a, 0-9 (window number)
- n (next window)
- p (prev window)
- 스크롤 모드 : ctrl+a,[
# .tmux.conf
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# Enable mouse control (clickable windows, panes, resizable panes)
set -g mouse on
Copy & Paste
Tmux 내부의 Session 을 사용하고 있어서 외부의 프로그램에서 터미널 내용을 가져오는 방법은 찾지 못하고 있습니다. 현재까지는 내부에서 파일에 결과값을 저장하고, 그 파일을 외부에서 활용하는 방법을 사용하고 있습니다.
- Enter ‘copy mode’ by pressing
CTRL+A
,[
. - Press
CTRL+SPACE
to start copying. - Use arrow keys to grap the block.
- Press
ALT+W
orCTRL+W
to copy into Tmux buffer. - Press
CTRL+A
,]
to paste different Tmux pane/window.