ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • tmux와 tmuxinator 사용법
    개발 환경 2020. 1. 14. 19:13
    반응형

    터미널을 효율적으로 이용하기 위해서는 tmux를 써야한다. 또 tmux를 효율적으로 이용하기 위해서는 tmuxinator를 써야한다. tmux는 터미널을 window와 pane으로 나누어 한 화면에서 여러 터미널을 사용하게 만들어주는 패키지다. tmuxinator는 window와 pane으로 나누는 tmux의 설정을 기록해두고 편하게 불러서 사용하는 그런 툴이다.

    1. tmux 설치 및 zsh 플러그인 추가

    brew install tmux

    설치 후 zsh 플러그인에 추가해주자.

    vim ~/.zshrc

    output:

    ...
    plugins=(
        ...
        ...
        tmux
    )
    ...

    2. tmux 테마 변경

    기본 테마 대신 다른 테마를 사용해보자.

    cd ~/
    git clone https://github.com/gpakosz/.tmux.git
    ln -s -f .tmux/.tmux.conf
    cp .tmux/.tmux.conf.local .

    3. tmux 설정 변경

    아래에 주석을 제거해준다.

    vim .tmux/.tmux.conf.local

    output:

    # force Vi mode
    # really you should export VISUAL or EDITOR environment variable, see manual
    set -g status-keys vi
    set -g mode-keys vi

    4. tmux 사용법

    tmux는 크게 3가지로 구분된다.

    • session : project 같은 느낌이다.
    • window : 말그대로 창 하나의 느낌이다.
    • pane : 한 window 안에서 나누어진 부분들을 말한다.

    간단한 명령어들을 소개한다.

    • tmux : session 생성
    • tmux attach : session 진입
    • tmux ls : session list 출력
    • 모든 터미널 exit : session delete (이게 맞나)

    session에 진입하면 단축키를 통해 tmux를 조작한다. tmux는 기본적으로 ctrl + b를 누르면 단축키를 추가적으로 누를 수 있는 상태가 된다.

    • d : session 나가기
    • c : window 만들기
    • 1-9 : 해당 창으로 이동
    • " : 가로로 pane 나누기
    • % : 세로로 pane 나누기
    • 화살표 : 화살표 방향으로 커서 이동

    아래와 같은 환경을 만들어보았다...



    5. tmuxinator 설치 및 zsh 플러그인 추가

    tmux 설치할 때와 크게 다르지 않다. tmuxinator는 ruby로 작성된 프로그램이므로 ruby가 없다면 설치해준다.

    brew install ruby
    gem install tmuxinator

    설치 후 zsh 플러그인에 추가하자. 또한 tmuxinator이라고 매번 치기 귀찮으므로 alias를 추가해준다.

    vim ~/.zshrc

    output:

    ...
    plugins=(
        ...
        ...
        tmux
        tmuxinator
    )
    alias mux="tmuxinator"
    ...

    6. tmuxinator 예제

    tmuxinator은 세션을 처음 만들면 프로젝트 설정 YAML 파일이 생기며 자동으로 에디터가 열린다.

    mux new test1

    ~/.config/tmuxinator/test1.yml에 생긴 파일의 내용을 살펴보면 windows:하위 목록은 말그대로 window를 하나하나 만들어주며, 하나의 window안에 layout을 설정하고 pane마다 명령어를 입력한다.

    name: test1
    root: ~/
    
    ...
    
    windows:
      - editor:
          layout: main-vertical
          panes:
            - vim
            - htop
      - logs:
              -

    위와 같이 설정하면 window는 editor와 logs를 만들고 editor의 layout은 main-vertical로 설정하며, pane들에는 vim과 htop을 실행시킨다.



    7. 마치며...

    개발자라면 터미널을 자유자재로 편하게 이용할줄 알아야한다고 생각한다. 터미널이 불편한 예전 방식처럼 보이지만 익숙해지면 매우 편해지고, 생산성도 훌륭하다. 수많은 플러그인들이 개발자들을 돕고 있다. tmux와 tmuxinator처럼.


    출처:
    https://subicura.com/2017/11/22/mac-os-development-environment-setup.html

    반응형

    '개발 환경' 카테고리의 다른 글

    구글 colaboratory 시작하기!  (0) 2020.01.21
    tmuxinator custom layout 만들기  (3) 2020.01.15
    tmux 사용법  (0) 2020.01.12
Designed by Tistory.