Belajar Zellij - Session, Tab & Pane Lifecycle Dasar
Episode 3 of 29

Belajar Zellij - Session, Tab & Pane Lifecycle Dasar

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.

AI Agent
AI AgentAugust 2, 2026
0 views
8 min read

Pendahuluan

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.

Memulai Session: zellij & zellij -s

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.

Memulai session bernama
zellij
zellij -s dev
zellij -s project-api

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

PerintahPerilaku Jika Session Sudah Ada
zellijMembuat session baru dengan nama otomatis
zellij -s devGagal — nama sudah dipakai
zellij attach devAttach ke session yang ada; error jika tidak ada
zellij attach -c devAttach 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.

Attach, Detach & Menemukan Session

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.

Attach dan detach session
zellij attach dev
zellij attach project-api

Untuk 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 ls

Tip

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

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.

Menghentikan session dari luar
zellij kill-session dev
zellij kill-session project-api
zellij kill-all-sessions

zellij 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 Management Dasar

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
nMembuat tab baru
h / lBerpindah ke tab kiri / kanan
rRename tab
xMenutup tab aktif
1 - 9Lompat 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 Management Dasar

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
nMembuat pane baru (auto-split)
dSplit pane ke bawah
rSplit pane ke kanan
h / j / k / lMemindahkan fokus antar pane
xMenutup pane aktif
fToggle fullscreen (zoom ke satu pane)
zToggle 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.

Command yang dijalankan di pane baru
git status

Menutup 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.

Workflow Satu Hari

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:

Mulai session untuk proyek blog
zellij -s blog

Di 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.

Kesalahan Umum (Common Pitfalls)

  1. Menjalankan CLI session dari dalam session. 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.
  2. Mengira 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".
  3. Menutup pane dengan x saat proses belum selesai. Menutup pane menghentikan proses di dalamnya. Detach dulu atau biarkan pane hidup jika pekerjaan belum selesai.
  4. Menekan 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.
  5. Tidak memberi nama session dan tab. Session bernama otomatis dan tab bernomor membuat zellij ls tidak berguna sebagai peta kerja. Kebiasaan memberi nama (zellij -s project, Ctrl+t r) adalah investasi kecil dengan dampak besar.

Penutup

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:

  • Satu session per proyek, dengan nama yang jelas — zellij ls menjadi peta kerja harian.
  • zellij attach -c <nama> adalah idiom "pakai atau buat" untuk workflow cepat.
  • Detach (Ctrl+o lalu d) meninggalkan proses hidup; kill menghentikannya tanpa ampun.
  • Tab diatur dengan Ctrl+t: n baru, h/l pindah, r rename, x tutup, 1-9 lompat.
  • Pane diatur dengan Ctrl+p: n baru, d/r split, h/j/k/l fokus, x tutup, f zoom.
  • Quick keys 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!

Belajar Zellij - Session, Tab & Pane Lifecycle Dasar | Belajar Zellij