Zellij: Another Terminal Multiplexer, Yet More Modern
Getting to Know
Seperti tmux, zellij adalah sebuah program terminal multiplexer juga. Akan tetapi, zellij menawarkan tampilan / UI (User Interface) yang lebih modern dan kemudahan penggunaan dibandingkan dengan tmux sehingga pengguna pemula maupun power user dapat menggunakan zellij dengan lebih nyaman. Oleh karena itu, gak terlalu salah kalau dikatakan bahwa zellij adalah tmux versi yang lebih modern.
Hirarki yang dimiliki zellij juga saya pikir mirip dengan level hirarkinya tmux, yang terbagi ke 3 level: Session > Tab > Pane. Jadi, ketika kita pertama kali menjalankan program zellij, dia akan membuat sebuah “Session” yang di dalamnya juga sudah memiliki sebuah “Tab” yang mengandung sebuah “Pane”. Di dalam “Session” tersebut, kita bisa menambahkan “Tab” yang dapat kita bagi menjadi beberapa “Pane”.
Perhatikan ilustrasi berikut:
![Session, Tab, and Pane on zellij. Created with: [excalidraw.com]](/_astro/ss10.BLWgPavm_Z29nL2X.webp)

Features
Beberapa fitur zellij yang juga di-highlight di website mereka adalah sebagai berikut:1
1. Floating Panes

Untuk menjalankannya:
Alt+fSeperti terlihat, kita dapat membuat floating pane. Yang unik dari floating pane ini adalah jika kita menjalankan sebuah perintah atau proses di dalamnya, kemudian kita hide floating pane-nya, nanti ketika ditampilkan lagi, proses tersebut masih akan tetap berjalan.
Dengan floating pane, kita bisa:
- Memindahkan posisinya dengan mouse maupun keyboard.
- Mengatur ukurannya.
- Pin agar always on top.
2. Stacked Panes

Kita juga bisa membuat stacked panes (lihat panes di sebelah kanan).
Ctrl+p sMode ini bagus untuk:
- Menjaga banyak editor buffers tetap tersedia.
- Memonitor beberapa commands tanpa mengambil banyak tempat.
- Mengorganisasi workspace berdasarkan jenis pekerjaan atau konteks.
3. Layouts & Automation

Seperti terlihat pada gambar di atas, zellij juga memungkinkan kita untuk melakukan otomatisasi melalui layout-layout. Ini dapat kita lakukan di file konfigurasi zellij. Beberapa manfaatnya:
- Mengotomatisasi workflow.
- Langsung membuka file-file di editor ketika membuka
zellij. - Membuat template layout supaya tidak selalu mengulang keybind layout yang sama.
4. Session Management

Seperti namanya, kita juga bisa melakukan manajemen sesi dengan perintah:
Ctrl+o w- Berpindah cepat ke sesi yang aktif.
- Membuat sesi dengan nama custom.
- Mengatur sesi yang berjalan di belakang layar (background).
5. Web Client

Menurut saya, ini fitur yang paling keren. Kita bisa mengakses zellij di web browser!
zellij web --create-token # buat token untuk login ke webzellib web # buat sesi web browser, default: http://127.0.0.1:8082sBeberapa manfaatnya:
- Gak memerlukan terminal karena kita bisa mengakses
zellijdi web browser. - Menjaga sesi agar tetap ada dengan mem-bookmark-nya via URL (misalnya
http://localhost:8082/my-project) - Kita bisa berbagi sesi dengan orang lain, terutama jika mengerjakan proyek yang sama.
6. Plugin System

zellij -l welcomezellij sendiri juga pada dasarnya sudah menggunakan beberapa plugin (pre-bundled plugin), misalnya seperti tab-bar, status bar, session-manager, dan welcome screen.
Jadi, kita bisa membuat plugin zellij kita sendiri menggunakan bahasa pemrograman Rust.2
7. Command Panes

Kita juga bisa menjalankan perintah tertentu dari luar zellij yang akan langsung dieksekusi di dalam zellij.
zellij -s nama-sesi run -- <perintah yang ingin dijalankan>Manfaatnya:
- Melihat exit code dari perintah yang berhasil dijalankan.
- Menjalankan kembali suatu command dengan sekali tekan [Enter].
- Bagus untuk build commands, test, dan development servers.
8. Scrollback Editing

Kita juga bisa membuka pane buffer scrollback di $EDITOR.
Ctrl+s eManfaatnya:
- Menyimpan output ke file untuk dibagikan atau didokumentasikan.
- Search, manipulate, dan copy terminal output melalui file editor favorit kita.
9. Multiple Pane Select

Dengan fitur ini, kita bisa menyeleksi berbagai pane (lihat pane yang terseleksi, berwarna ungu).
Alt+[left click]Manfaatnya:
- Menutup pane yang kita inginkan secara bersamaan.
- Stack (menumpuk) pane yang kita inginkan secara bersamaan.
- Memecah beberapa panes yang kita inginkan ke dalam tab baru dalam jumlah banyak (bulk).
etc
Masih ada beberapa fitur zellij lainnya yang tidak dicantumkan dalam artikel ini, seperti Remote Session Access, Advanced Scriptability, Mouse-based Pane Resizing, dan lain-lain. Sila kunjungi dokumentasi resmi zellij untuk mengetahui fitur-fitur tersebut lebih lanjut:
Installation
Berikut adalah cara meng-install zellij di beberapa sistem operasi UNIX/Linux:
| Distro | Command |
|---|---|
| Arch Linux | sudo pacman -Sy zellij |
| Opensuse | sudo zypper install zellij |
| FreeBSD | sudo pkg install zellij |
NixOS:
Masukkan baris berikut di file konfigurasi (/etc/nixos/configuration.nix):
environment.systemPackages = [ pkgs.zellij ];Atau jika menggunakan nix-shell:
nix-shell -p zellijPer artikel ini ditulis, zellij tidak tersedia di repositori Debian/Ubuntu dan Fedora. Oleh karena ini, beberapa alternatif cara instalasinya adalah sebagai berikut:
- Snap: https://snapcraft.io/zellij
- Official Github Repo: https://github.com/zellij-org../images/zellij/releases/
Berikut adalah repository Github zellij:
Usage
Berikut adalah cara menggunakan zellij.
Quickstart
Starting zellij
Untuk memulai sesi zellij, kita hanya perlu mengetikkan:
zellijAtau kalau kita ingin membuat sesi baru dengan nama custom:
zellij -s your-custom-session-nameAtau kita bisa juga masuk ke sesi yang sudah ada sebelumnya. Kita bisa masuk ke sesi yang masih berjalan atau sesi yang sudah mati (kalau kita masuk ke sesi yang sudah mati, artinya kita menghidupkan lagi sesi tersebut).
# lihat daftar sesi yang tersedia terlebih dahuluzellis ls
# masuk ke salah satu sesizellij attach <nama-sesi>Semua “cache” dari daftar sesi zellij akan tersimpan di ~/.cache/zellij.
Adding Tab
Buat tab baru dengan keybind:
Ctrl+t nSplitting Pane
Bagi pane secara vertikal dengan keybind:
Ctrl+p rBagi pane secara horizontal dengan keybind:
Ctrl+p dPanes Navigation
Berpindah dari satu pane ke pane yang lain dapat dilakukan dengan mudah keybind:
Alt → # ke pane yang ada di kananAlt ← # ke pane yang ada di kiriAlt ↑ # ke pane yang ada di atasAlt ↓ # ke pane yang ada di bawahDetaching Session
Keluar dari sesi tanpa mematikan sesi tersebut:
Ctrl+o dUntuk benar-benar keluar dan mematikan sesi:
Ctrl+qListing Sessions
Kita bisa melihat daftar sesi yang ada/yang pernah dibuat (baik yang sudah mati maupun yang masih berjalan, jika ada):
zellij lsAtau kalau ingin menggunakan session manager juga bisa dengan mengetikkan keybind berikut di dalam sesi zellij:
Ctrl+o wRenaming Session
Untuk mengganti nama sesi:
# Masuk ke session managerCtrl+o w
# Pilih sesi yang ingin diganti namanya, kemudian:Ctrl+rKemudian masukkan nama sesi yang kalian kehendaki. Tekan [Enter] jika sudah selesai.
Deleting Session
Hapus sesi dengan perintah:
zellij d <nama-sesi-yang-ingin-dihapus>Atau via session manager:
# Masuk ke session manager di dalam zellijCtrl+o w
# Pilih nama sesi yang ingin dihapusDelLocking Keybinds
Kita juga bisa menon-aktifkan keybind sementara:
Ctrl+gGunakan keybind yang sama (Ctrl+g) untuk meng-unlock-nya.
Sekian.
Terima kasih sudah membaca!
Footnotes
Support & Share
If this article helped you, please share or support!











