새로운 멀티플레서 zellij

tmux 를 사용하며 resurrect 기능은 충분히 필요하지만 자주 불안정하였다. 꽤나 자주 캐시 파일을 삭제해 리셋하는 번거로움이 있어서, 새로운 멀티플렉서로 zellij 는 편하고 쉽게 사용하고 있다.

멀티플렉서 Zellij (질리지)

최근 개발자들 사이에서 대세로 떠오른 Rust 기반의 차세대 터미널 멀티플렉서 Zellij.

https://github.com/zellij-org/zellij


특징:

Ctrl + B 같은 귀찮은 접두사 키가 필요 없고, UI가 매우 현대적이며 기본적으로 레이아웃 저장 및 복구(Session Resurrect) 기능이 내장되어 있습니다.

  1. tmux-resurrect처럼 서드파티 플러그인이 아니기 때문에 유기적으로 매우 안정되게 작동합니다.
  2. terminal 에서 메뉴방식으로 조작이 가능합니다.
  3. 기본 세션 관리기능이 있습니다.

설치

다양한 방법으로 설치가 가능하고, 현재 ubutun 는 snap 으로 설치가 가능하다.

cargo 로 설치

rust 패키지 매니저인 cargo 를 사용해 설치 관리할 수 있다.

먼저 rust update 를 진행

1
rustup update

cargo 로 설치

1
cargo install --locked zellij

cargo 로 재설치

1
cargo install --force --locked zellij

Ubuntu 패키지 다운로드

ubuntu 계열은 snap 사용

1
sudo snap install zellij --classic

설치없이 사용하기

즉시 사용할 수 있는 방법을 제공한다. 세션 중에만 설치해 사용하고 세션이 끝나면 설치된 내용은 사라진다.

1
bash <(curl -L https://zellij.dev/launch)

fish/xonsh:

1
bash -c 'bash <(curl -L https://zellij.dev/launch)'

기본 사용

zellij 명령으로 사용한다.

1
2
3
4
5
zellij                          # 새 세션 시작 (기본값으로 새 세션 생성)
zellij -s [세션 이름] # 세션 이름 지정해 시작
zellij ls (list-sessions) # 세션 목록 확인
zellij attach [세션 이름] # 기존 세션 접속
zellij kill-session [세션 이름] # 기존 세션 종료

list sessions

1
2
3
4
5
6
$ zellij list-sessions
$ zellij ls
rectangular-oboe [Created 2days 12h 36m 45s ago] (EXITED - attach to resurrect)
kind-jellyfish [Created 2days 12h 31m 2s ago] (EXITED - attach to resurrect)
LLM [Created 1day 16h 31m 37s ago] (EXITED - attach to resurrect)
remarkable-cuckoo [Created 11h 21m 13s ago]

키보드 스크롤

Zellij에서 터미널 화면을 키보드로 스크롤하고 확인하는 방법은 다음과 같습니다.

  • 스크롤 모드 진입: Ctrl + b를 누릅니다.
  • 한 줄씩 이동: k (위) 또는 j (아래)를 누르거나 방향키를 사용합니다.
  • 한 페이지씩 이동: Ctrl + u (위), Ctrl + d (아래)를 누르거나 PageUp, PageDown 키를 사용합니다.
  • 맨 위/맨 아래로 이동: g (맨 위) 또는 G (맨 아래)를 누릅니다.
  • 텍스트 검색 (선택 사항): 스크롤 모드에서 /를 누르면 검색창이 열려 원하는 텍스트를 찾을 수 있습니다.