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:

zellij. Created with: excalidraw.com
Features#
Beberapa fitur zellij yang juga di-highlight di website mereka adalah sebagai berikut:1
1. Floating Panes#

zellij 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#

zellij 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#

zellij autozellijmation layouts. Source: https://zellij.dev/features/
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#

zellij 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#

zellij in web browser!
Menurut saya, ini fitur yang paling keren. Kita bisa mengakses zellij di web browser!
zellij web --create-token # buat token untuk login ke web
zellib 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 welcome screen plugin
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#

zellij 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#

zellij scrollback editing. Source: https://zellij.dev/features/
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#

zellij multiple pan 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 zellij Per 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/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 dahulu
zellis ls
# masuk ke salah satu sesi
zellij attach <nama-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 kanan
Alt ← # ke pane yang ada di kiri
Alt ↑ # ke pane yang ada di atas
Alt ↓ # 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 manager
Ctrl+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 zellij
Ctrl+o w
# Pilih nama sesi yang ingin dihapus
DelLocking Keybinds#
Kita juga bisa menon-aktifkan keybind sementara:
Ctrl+gGunakan keybind yang sama (Ctrl+g) untuk meng-unlock-nya.
Sekian.
Terima kasih sudah membaca!

