이전 글:

2021.04.26 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (1)

 

티먹스 tmux 사용해서 터미널 여러 개 띄우기 (1)

우분투에서 작업하다 보면 한 번에 터미널을 여러 개 켜놓아야 할 때가 있다. 예를 들어 실험을 여러 서버에서 돌린다거나, 한쪽에 코드를 열어놓고 다른 한쪽에서 해당 코드를 참조한다거나.

sanghyun.tistory.com

 

이전 포스트에서 tmux의 간단한 사용법을 정리해봤는데,

 

실제로 써보면 이것 저것 불편한 점이 있다.

 

 

처음 맏닥뜨리는 가장 큰 장벽은 스크롤이다.

 

이전 로그를 보고싶어서 화면을 스크롤하면, 터미널 입력창에 과거에 입력했던 명령어들만 쭉 스크롤된다.

 

아래와 같이 하면 된다.

  • 화면 스크롤 모드 시작. 해당 모드에서는 PgUp/Down, 마우스 휠로 화면을 스크롤할 수 있다. 스크롤 모드를 종료할 때는 <[ctrl] + c>를 입력하면 된다.
    prefix - [
  • 화면 스크롤 모드 시작하며 위로 한 페이지 스크롤. 실제로는 이걸 더 많이 쓴다.
    prefix - PgUp

tmux에서 아무 생각 없이 터미널 내용을 복사하려고 긁으면, pane 단위가 아니라 window 단위로 선택이 되는 걸 알 수 있다.

 

아무도 이런 복사 기능을 원하지 않는데, tmux에서 제대로 복사를 하는 방법은 조금 복잡하다.

  1. prefix - [
  2. 복사를 시작하고 싶은 위치로 커서 이동
  3. <[ctrl] + [space]> 로 선택 모드 활성화
  4. 화살표로 복사하고 싶은 영역 선택
  5. <[alt] + w> 로 복사
  6. prefix + ] 로 터미널이나 vim 등의 에디터에 붙여 넣기

정리해놔도 더럽게 복잡하다.

 

특히 6에서 터미널 에디터 대신 클립보드에 복사하려면 뭔가를 설치해야 한다고 하는데

 

정말로 내 취향이 아니므로 패스.

 

다행히 그럴 일은 거의 없었다.

 

 

아예 마우스를 쓰고 싶다면, ~/.tmux.conf 파일을 열어서 아래와 같이 입력한다.

 

해당 파일은 기본 생성이 아니기 때문에, 없으면 만들면 된다.

set -g mouse on
set -g history-limit 10000

Line 1이 있으면, pane을 클릭하는 것으로 이동할 수 있고, 마우스 휠로 스크롤 모드를 시작할 수 있다.

 

심지어 pane 경계를 드래그하면 pane 사이즈 조절도 된다.

 

Line 2는 스크롤 가능한 history를 늘려준다.

 

default로는 약간 부족할 때가 있기 때문에, 설정해놓으면 좋은 듯.

  • 현재 실행 중인 session에 업데이트된 .tmux.conf를 적용하려면 아래와 같은 순서로 입력한다.
    prefix - : - "source-file ~/.tmux.conf" - [enter]
  • 현재 session을 실행 중이지 않다면, 터미널에 아래와 같이 입력한다.
$ tmux source-file ~/.tmux.conf

개인적으로 마우스 기능은 쓰지 않는데,

 

이러면 굳이 키보드만으로 작업을 하기 위해 vi나 tmux 등에 익숙해진 의미가 없지 않냐는 좀 구닥다리 같은 이유다.

 

언젠가 정말 필요하면 사용하겠지...

 

 

사실 여기 소개되어있는 여러 가지 명령어들은 전부 다 ~/.tmux.conf에 입력하는 대신,

 

터미널에서 $ tmux [명령어]의 조합, 혹은 prefix - : - [명령어] - [enter]로도 가능하다.

 

다시 말해 ~/.tmux.conf는 현재 설정이 저장되어 있는 파일이라기보다는,

 

단순히 tmux 설정을 바꾸기 위해 실행하는 스크립트인 셈.

 

이 점을 인식하고 다시 생각해보면, 이미 활성화한 마우스 기능을 끄려면 단순히 해당 Line을 지우는 것이 아닌

set -g mouse off

를 명시해놓아야 한다.

 

 

tmux의 window는 기본적으로 0번부터 시작한다.

 

지극히 합리적인 디자인이긴 하지만, 0번과 1번 window를 왔다 갔다 할 때

 

prefix - 0과 prefix - 1은 생각보다 손의 동선이 불편하다.

 

아래 Line을 ~/.tmux.conf에 추가하면 window 번호가 1번부터 시작한다.

set -g base-index 1

 

~/.tmux.conf 파일은 생각보다 다양하게 커스텀 가능하다.

 

기존 설정된 단축키를 바꾸는 것이 메인디쉬인 듯한데, 나는 거의 항상 순정 커맨드를 선호하므로 딱히 바꾸지는 않았다.

 

그래도 정리해놓으면 필요할 때가 있겠지.

 

필요에 따라 아래 라인들을 ~/.tmux.conf에 적절히 추가하면 된다.

# prefix를 <[ctrl] + b>에서 <[ctrl] + a>로 변경하는 예시.
# C-b는 C와 b를 같이 누른다는 뜻인데, C는 [ctrl]키를 의미한다 (대소문자 주의!).
unbind C-b
set -g prefix C-a
bind-key C-a send-prefix

# 좌우 분할 명령을 %에서 |로 바꾸는 예시.
unbind %
bind | split-window -v

# -n을 지정하면 prefix 없이 동작하는 명령어가 된다.
# M은 meta (혹은 [alt])키를 의미한다.
# prefix - 화살표 대신 <[alt] + 화살표>로 pane을 선택하는 예시.
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

 

여기까지 하면, 대충 필요한 설정들을 적재적소에 맞춰서 사용할 수 있을 것 같다.

 

그런데 tmux를 잘 쓰려면 아직도 생각해야 할 게 조금 더 남아있다.

 

(이 정도면 대체 왜 쓰는 건지? ㅎㅎ)

 

아마 열심히 세팅하고 잘 사용하다가 컴퓨터를 재부팅할 때가 오면 약간 긴장이 되기 시작할 텐데,

 

그건 다음 포스트에 정리해야지.

다음 글:

2021.04.29 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (3) - session 관리

 

티먹스 tmux 사용해서 터미널 여러 개 띄우기 (3) - session 관리

이전 글: 2021.04.26 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (1) 2021.04.28 - [잡기술/Ubuntu] - 티먹스 tmux 사용해서 터미널 여러 개 띄우기 (2) - 스크롤, .tmux.conf tmux의 가장..

sanghyun.tistory.com

 

+ Recent posts