Ubuntu | 터미널 화면분할 Tmux 쉽게 사용하기

Sua·2021년 2월 1일
0

Linux

목록 보기
3/4
post-thumbnail

Tmux

Tmux는 터미널의 화면 분할을 도와주는 툴이다.

그 외에도 Tmux의 중요한 기능이 있는데, 내가 터미널의 접속을 끊어도 tmux는 뒤에서 돌고 있게 할 수 있다. 그래서 오늘하던 작업을 다음날에 이어서 할 수 있다.

별도의 tmux 세션을 열고 거기 안에서 화면을 분할 (pane) 하여 사용 하거나 탭을 여러개 (window) 를 만들어 사용 할 수 있다. 그리고 터미널 프로그램이 종료 되더라도 기존 작업을 이어서 계속 할 수 있도록 해 준다. 오늘 하던 작업을 내일 이어서 할 수 있다.

Tmux 구성

Tmux는 Session, Window, Pane 세 가지 인터페이스로 구분된다.

  • Session은 독립된 작업공간 제공
  • Window는 화면 전환효과를 제공
  • Pane은 화면을 분리하는 효과 제공, Pane이 우리에게 주로 필요한 기능이다!


사진출처 : https://snipcademy.com/linux-command-line-tmux

설치

Tmux 설치

sudo apt-get install tmux

Tmux 모드로 들어가기

tmux

Tmux를 쉽게 사용하기(tmux.conf 파일 설정)

Tmux를 사용하기 전 여러 가지 설정을 바꿔주는 게 편하다.

Tmux 설정은 ~/.tmux.conf에 기록한다. ~/.tmux.conf로 파일을 생성해서 아래 내용을 저장하자. (나의 경우 터미널에서 바로 vim을 열어서 작성하였다.)

vim ~/.tmux.conf

블로그1블로그2를 참고해서 설정 파일을 작성하였다.
그대로 카피해도 좋고, 아래에 각 설정이 무엇을 의미하는지 설명해놨으니 자신의 입맛에 맞게 수정해서 사용하면 된다.

# 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

파일 저장을 했으면 쉘에서

tmux source-file ~/.tmux.conf

명령어를 실행하면 적용된다.

각 설정이 무엇을 의미하는지

1. Prefix Key 설정

Tmux에서는 Prefix key인 ctrl+b를 누른 후 다음 명령 키를 눌러야 동작할 수 있다.
하지만 나의 경우 손이 작아서인지 ctrl+b를 누르기가 매우 불편하다.
ctrl+a로 Prefix key 설정을 바꿔보자

# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

이제 ctrl+aprefix key라고 가정하고 설명을 작성하겠다.

2. pane 가로, 세로 나누기

원래 pane 가로, 세로 나누기 명령어는 각각 %,"인데 직관적으로 |, _로 바꾸는 작업이다.

# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %

3. pane 이동하기

pane 간 이동으로 정말 많이 사용하는 작업 중 하나이다. alt+방향키 조합으로 pane을 간단히 이동할 수 있다.

원래는 ctrl+a를 눌렀다 뗀 뒤 방향키를 눌러주면 되지만 이게 쓰다보면 눌렀다 떼는 것조차 귀찮기 때문에 이 설정을 해준다.

# 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

4. 마우스로 클릭, 사이즈 조절, 스크롤!

이 설정을 하면 vim을 켰을 때 스크롤이 안 되서 현재는 사용하지 않고 있다. 대신 ctrl+a, [로 스크롤 모드를 사용할 수 있다.

기본 Tmux 모드에서 마우스로 다른 창 클릭도 안 되고, pane 사이즈 조절도 안 되고, 심지어 스크롤도 안 된다.. 이걸 가능하게 해주는 설정이다!

# Enable mouse control (clickable windows, panes, resizable panes)
set -g mouse on

명령어 정리

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,[

참고사이트
https://edykim.com/ko/post/tmux-introductory-series-summary/
https://namj.be/2020-03-15-tmux/2020-03-15-tmux/

profile
Leave your comfort zone

0개의 댓글