mempraktikkan siklus hidup session dari zellij, zellij -s, attach, detach, ls, hingga kill-session, lalu mengelola tab dengan ctrl+t dan pane dasar dengan ctrl+p.

Dua episode pertama memberi kalian landasan: mengapa Zellij ada dan bagaimana arsitekturnya bekerja. Sekarang waktunya mengotori tangan. Episode 3 ini adalah episode operasional pertama — kalian akan mempraktikkan siklus hidup session, tab, dan pane dari lahir sampai mati. Setiap perintah dan keybinding di episode ini adalah yang paling sering dipakai setiap hari, jadi kuasai sampai mengalir.
Siklus hidup di Zellij mengikuti alur yang sederhana: memulai session, bekerja di dalamnya dengan tab dan pane, melepas session ketika harus pergi, menemukan kembali session yang masih hidup, lalu menghentikannya ketika pekerjaan selesai. Kalian sudah memahami secara teori di episode 2 bahwa server dan client terpisah; sekarang kalian akan merasakan langsung bagaimana pemisahan itu bekerja dalam praktik.
Kita akan membahas tiga domain: manajemen session lewat CLI (zellij, zellij -s, attach, detach, zellij ls, kill-session), manajemen tab dengan Ctrl+t, dan manajemen pane dasar dengan Ctrl+p. Di akhir episode, kalian akan menyelesaikan satu workflow lengkap yang menggabungkan semuanya. Mari mulai.
Cara paling sederhana memulai Zellij adalah mengetik zellij tanpa argumen. Zellij membuat session baru dengan nama otomatis dan langsung menampilkan workspace default: satu tab dengan satu pane berisi shell kalian. Untuk kebutuhan sehari-hari, ini sudah cukup. Namun dalam praktik, memberi nama session adalah kebiasaan yang harus ditanam sejak awal — nama adalah kunci untuk menemukan, membedakan, dan mengelola banyak session sekaligus.
zellij
zellij -s dev
zellij -s project-apizellij -s dev membuat session bernama dev. Jika kalian sudah terbiasa dengan tmux, ini paralel dengan tmux new -s dev. Satu konvensi yang sangat disarankan: satu session per proyek. Kalian sedang mengerjakan proyek blog? Nama session-nya blog. Proyek API? project-api. Dengan konvensi ini, zellij ls akan langsung menjadi peta kerja kalian — melihat daftar session sama dengan melihat proyek apa saja yang sedang aktif.
Ada satu detail penting: ketika session bernama dev sudah ada dan kalian menjalankan zellij -s dev lagi, Zellij tidak membuat session kedua — ia menolak membuat session dengan nama yang sudah dipakai. Ini berbeda dengan zellij attach -c dev yang dirancang untuk idiom "pakai atau buat". Pahami perbedaannya:
| Perintah | Perilaku Jika Session Sudah Ada |
|---|---|
zellij | Membuat session baru dengan nama otomatis |
zellij -s dev | Gagal — nama sudah dipakai |
zellij attach dev | Attach ke session yang ada; error jika tidak ada |
zellij attach -c dev | Attach jika ada; membuat jika belum ada |
Idiom attach -c sangat berguna dalam script dan workflow cepat: kalian tidak perlu memeriksa keberadaan session terlebih dahulu — satu perintah menangani kedua kasus.
Setelah session berjalan, kalian akan berpindah masuk dan keluar sesering berpindah antara editor dan browser. Detach dilakukan dari dalam session dengan menekan Ctrl+o lalu d — masuk ke Session mode, lalu tekan d. Session tetap hidup; kalian hanya melepaskan client. Attach kembali dilakukan dari terminal biasa dengan zellij attach dev.
zellij attach dev
zellij attach project-apiUntuk melihat session apa saja yang masih hidup, gunakan zellij ls atau zellij list-sessions — keduanya perintah yang sama. Outputnya menampilkan nama session, jumlah window, dan status aktif/terdetach. Inilah perintah yang paling sering kalian jalankan di terminal biasa, jadi ingat betul:
zellij lsTip
Biasakan pola kerja ini: mulai hari dengan zellij ls, lihat session mana yang masih hidup dari kemarin, lalu zellij attach <nama> untuk melanjutkan tepat di tempat kalian berhenti. Scrollback, tab, dan pane masih utuh — tidak ada yang hilang hanya karena kalian menutup laptop semalam. Inilah daya tarik utama model client-server yang kita bahas di episode 2.
Kesalahan paling umum di fase ini adalah panik ketika zellij ls tampak kosong padahal merasa "tadi masih ada session". Periksa dulu: apakah kalian sedang berada di dalam session Zellij? Menjalankan zellij ls dari dalam pane akan menampilkan hasil yang membingungkan karena konteksnya berbeda. zellij ls, zellij attach, dan zellij kill-session adalah perintah CLI yang dijalankan di luar session — dari terminal biasa.
Menghentikan session adalah keputusan eksplisit: kalian sedang memberi tahu Zellij bahwa semua proses di dalamnya boleh dihentikan. Ada dua cara: dari dalam session dengan Ctrl+q (Quit), atau dari luar dengan perintah CLI.
zellij kill-session dev
zellij kill-session project-api
zellij kill-all-sessionszellij kill-session dev menghentikan session dev beserta semua pane di dalamnya — proses apa pun yang berjalan di pane ikut dihentikan. zellij kill-all-sessions melakukan hal yang sama untuk semua session sekaligus, berguna untuk pembersihan menyeluruh di akhir sesi kerja.
Warning
Ctrl+q dan kill-session tidak bisa dibatalkan — semua proses di dalam session dihentikan, termasuk dev server, database, atau job panjang yang sedang berjalan. Sebelum menghentikan session, pastikan tidak ada pekerjaan penting yang belum selesai. Jika ragu, detach saja (Ctrl+o lalu d) dan biarkan session hidup — jauh lebih aman daripada menyesal.
Pola yang sehat: detach untuk berpindah konteks, kill hanya ketika pekerjaan benar-benar selesai. Kalian tidak perlu khawatir session menumpuk — zellij ls selalu memberi gambaran jelas, dan kill-session atau kill-all-sessions membersihkan dengan cepat.
Tab adalah cara Zellij membagi session menjadi area fokus. Alih-alih membuka banyak jendela terminal, kalian membuka banyak tab dalam satu session dan berpindah dengan keyboard. Semua proses di tab lain tetap berjalan — tab yang tidak terlihat tidak pernah "mati".
Manajemen tab dimulai dengan menekan Ctrl+t untuk masuk ke Tab mode. Status bar berubah dan menampilkan semua aksi tab yang tersedia. Petunjuknya selalu ada di layar, tetapi inilah yang paling sering dipakai:
Tombol (setelah Ctrl+t) | Aksi |
|---|---|
n | Membuat tab baru |
h / l | Berpindah ke tab kiri / kanan |
r | Rename tab |
x | Menutup tab aktif |
1 - 9 | Lompat langsung ke tab berdasarkan nomor |
Workflow paling umum: Ctrl+t lalu n untuk tab baru (sesuai konteks tugas), Ctrl+t lalu 1 untuk kembali ke tab pertama, dan Ctrl+t lalu x untuk menutup tab yang sudah tidak dibutuhkan. Rename tab dengan Ctrl+t lalu r adalah kebiasaan yang sangat dianjurkan — nama tab yang jelas (misalnya code, server, ops) membuat navigasi jauh lebih cepat daripada mengandalkan nomor.
Satu detail yang sering membingungkan pemula: Ctrl+t di dalam Zellij tidak pernah "mengetikkan" karakter t ke dalam editor. Ia selalu masuk ke Tab mode. Inilah keuntungan model mode yang dibahas di episode 2 — tidak ada konflik dengan keybinding editor, dan petunjuk selalu muncul untuk mengingatkan kalian sedang di mode mana.
Perhatikan juga bahwa tab mengikuti siklus hidup session, bukan siklus hidup client. Ketika kalian detach dengan Ctrl+o lalu d, seluruh tab beserta proses di dalamnya tetap utuh; ketika kalian attach kembali, tab pertama sampai tab terakhir kembali persis seperti ditinggalkan. Menutup tab aktif dengan Ctrl+t lalu x menghentikan semua pane di dalamnya sekaligus — pastikan tidak ada proses penting yang sedang berjalan, karena tab yang tertutup tidak bisa dibuka kembali secara langsung.
Pane adalah tempat kalian benar-benar bekerja. Satu tab bisa berisi satu pane besar, atau beberapa pane yang tersusun seperti mozaik. Manajemen pane dasar dimulai dengan Ctrl+p untuk masuk ke Pane mode.
Tombol (setelah Ctrl+p) | Aksi |
|---|---|
n | Membuat pane baru (auto-split) |
d | Split pane ke bawah |
r | Split pane ke kanan |
h / j / k / l | Memindahkan fokus antar pane |
x | Menutup pane aktif |
f | Toggle fullscreen (zoom ke satu pane) |
z | Toggle pane frames |
Dua tombol yang paling sering dipakai sejak hari pertama adalah n dan r. Ctrl+p lalu n membuat pane baru di samping pane aktif dengan membagi ruang yang tersedia secara otomatis — cara tercepat untuk "membuka terminal lain". Ctrl+p lalu r membuat split ke kanan, dan Ctrl+p lalu d membuat split ke bawah, memberikan kalian kontrol penuh atas arah layout.
Navigasi fokus dilakukan dengan Ctrl+p lalu h/j/k/l — sesuai arah mata angin di layar. Namun untuk kecepatan, Zellij menyediakan quick keys langsung di Normal mode: Alt+h, Alt+j, Alt+k, Alt+l memindahkan fokus tanpa perlu masuk mode, dan Alt+n membuat pane baru secara instan. Setelah beberapa hari, kombinasi Alt ini akan terasa lebih natural daripada Ctrl+p + arah.
git statusMenutup pane dilakukan dengan Ctrl+p lalu x. Ingat pelajaran episode 2: menutup pane menghentikan proses yang berjalan di dalamnya. Jika pane berisi proses penting, pindahkan fokus dulu atau pertimbangkan untuk membiarkannya hidup. Untuk zoom fokus ke satu pane, Ctrl+p lalu f membuat pane aktif memenuhi layar — sangat berguna ketika kalian butuh ruang editor yang luas — dan f lagi untuk kembali.
Satu kebiasaan yang sangat menolong di awal adalah Ctrl+p lalu ? untuk menampilkan daftar lengkap aksi Pane mode langsung di layar, lengkap dengan tombolnya. Gunakan ini sebagai cheat sheet internal — jauh lebih cepat daripada membuka dokumentasi. Dan perhatikan satu detail lifecycle: ketika kalian menutup pane terakhir di sebuah tab, tab itu ikut tertutup, karena Zellij tidak membiarkan tab kosong berdiri sendiri. Ini bukan bug — ini perilaku yang menjaga workspace kalian tetap bersih tanpa tab yatim yang menumpuk.
Teori tidak ada artinya tanpa praktik, jadi mari satukan semuanya dalam satu alur kerja nyata. Kalian sedang mulai mengerjakan proyek blog dan ingin membangun workspace dengan Zellij.
Langkah pertama, dari terminal biasa, buka session bernama blog:
zellij -s blogDi dalam session, bangun layout kerja: Ctrl+t lalu r untuk rename tab menjadi code, lalu Ctrl+p lalu r untuk membuka pane di kanan, dan Ctrl+p lalu h untuk kembali fokus ke pane kiri. Kalian sekarang punya satu tab dengan dua pane berdampingan — kiri untuk editor, kanan untuk terminal.
Dari pane kanan, jalankan dev server. Setelah itu Ctrl+t lalu n untuk membuka tab baru, dan Ctrl+t lalu r untuk menamainya git. Tab git berisi workflow versioning sementara tab code terus menjalankan editor dan dev server. Ctrl+t lalu 1 membawa kalian kembali ke tab code kapan saja.
Ketika harus pergi untuk makan siang, Ctrl+o lalu d untuk detach. Kembali dari makan siang, zellij ls untuk melihat session blog masih hidup, lalu zellij attach blog — semua tab, pane, dan proses masih persis seperti ditinggalkan. Di penghujung hari, setelah semua pekerjaan di-commit dan server dihentikan, Ctrl+q atau zellij kill-session blog menutup semuanya.
Tip
Jangan mencoba menghafal seluruh tabel keybinding di episode ini sekaligus. Mulai dari tiga pasang saja: Ctrl+t n untuk tab baru, Ctrl+p n untuk pane baru, dan Alt+h/j/k/l untuk pindah fokus. Setelah tiga pasang itu terasa otomatis, tambahkan Ctrl+t 1-9 untuk lompat tab dan Ctrl+p f untuk zoom. Muscle memory dibangun bertahap, bukan dengan sekali hafal.
zellij ls, attach, dan kill-session dijalankan dari terminal biasa, bukan dari dalam pane. Menjalankannya dari dalam session menghasilkan output yang tidak sesuai konteks dan membingungkan.zellij -s dev akan menimpa session yang ada. Ia tidak menimpa — ia gagal karena nama sudah dipakai. Gunakan zellij attach -c dev jika ingin idiom "pakai atau buat".x saat proses belum selesai. Menutup pane menghentikan proses di dalamnya. Detach dulu atau biarkan pane hidup jika pekerjaan belum selesai.Ctrl+q tanpa berpikir. Ctrl+q menghentikan session dan semua proses di dalamnya tanpa konfirmasi. Jika hanya ingin berhenti sejenak, detach dengan Ctrl+o lalu d.zellij ls tidak berguna sebagai peta kerja. Kebiasaan memberi nama (zellij -s project, Ctrl+t r) adalah investasi kecil dengan dampak besar.Episode 3 ini adalah fondasi operasional kalian. Kalian telah mempraktikkan seluruh siklus hidup session: memulai dengan zellij dan zellij -s, attach dan detach dengan Ctrl+o lalu d, menemukan session dengan zellij ls, dan menghentikannya dengan Ctrl+q atau zellij kill-session. Kalian juga menguasai manajemen tab dengan Ctrl+t dan manajemen pane dasar dengan Ctrl+p, plus quick keys Alt+n dan Alt+h/j/k/l.
Poin yang harus kalian bawa:
zellij ls menjadi peta kerja harian.zellij attach -c <nama> adalah idiom "pakai atau buat" untuk workflow cepat.Ctrl+o lalu d) meninggalkan proses hidup; kill menghentikannya tanpa ampun.Ctrl+t: n baru, h/l pindah, r rename, x tutup, 1-9 lompat.Ctrl+p: n baru, d/r split, h/j/k/l fokus, x tutup, f zoom.Alt+... di Normal mode adalah jalan menuju kecepatan.Semua interaksi di episode ini ditenagai oleh satu konsep yang belum kita bedah secara menyeluruh: mode. Ctrl+p dan Ctrl+t adalah pintu masuk mode, dan pemahaman bahwa mode adalah organisasi aksi di Zellij akan mengubah cara kalian mendekati seluruh tools ini. Di episode 4 kita membedah mode system secara utuh — semua mode, perbedaan mode-based keybinding dengan prefix key tmux, quick keys Alt+, dan Tmux mode untuk kalian yang pindah dari tmux. Sampai jumpa di episode 4!