REFERENSI CEPAT TMUX
Session, window, pane, copy mode, konfigurasi
Manajemen Session
Membuat dan Menghubungkan
tmux # session baru
tmux new -s work # session baru dengan nama
tmux attach -t work # hubungkan ke session
tmux attach -dt work # lepaskan yang lain, hubungkan
Perintah Session
| tmux ls | Tampilkan semua session |
| tmux kill-session -t work | Hapus session berdasarkan nama |
| tmux kill-server | Matikan server tmux dan semua session |
| tmux rename-session -t old new | Ganti nama session |
| Prefix d | Lepaskan dari session saat ini |
| Prefix $ | Ganti nama session saat ini |
| Prefix s | Daftar session (interaktif) |
Prefix default adalah Ctrl-b
Window
Pintasan Keyboard Window
| Prefix c | Buat window baru |
| Prefix , | Ganti nama window saat ini |
| Prefix & | Tutup window saat ini (dengan konfirmasi) |
| Prefix n | Window berikutnya |
| Prefix p | Window sebelumnya |
| Prefix 0-9 | Pindah ke window berdasarkan nomor |
| Prefix w | Daftar window (pemilih interaktif) |
| Prefix l | Beralih ke window aktif terakhir |
Perintah Window
tmux new-window -t work # window baru di session
tmux swap-window -t 0 # pindahkan window ke indeks 0
tmux move-window -t 3 # ubah nomor menjadi indeks 3
Pane
Membagi dan Menutup
| Prefix % | Bagi horizontal (kiri | kanan) |
| Prefix " | Bagi vertikal (atas / bawah) |
| Prefix x | Tutup pane saat ini (dengan konfirmasi) |
| Prefix ! | Jadikan pane sebagai window tersendiri |
| Prefix z | Toggle zoom pane (layar penuh) |
Mengubah Ukuran Pane
| Prefix Ctrl-Arrow | Ubah ukuran 1 sel |
| Prefix Alt-Arrow | Ubah ukuran 5 sel |
| Prefix Space | Ganti layout secara berurutan |
Layout: even-horizontal, even-vertical, main-horizontal, main-vertical, tiled
Navigasi
Berpindah Antar Pane
| Prefix Arrow | Pindah ke pane sesuai arah |
| Prefix o | Siklus ke pane berikutnya |
| Prefix q | Tampilkan nomor pane, tekan nomor untuk berpindah |
| Prefix { | Tukar pane dengan sebelumnya |
| Prefix } | Tukar pane dengan berikutnya |
Berpindah Antar Session
| Prefix ( | Pindah ke session sebelumnya |
| Prefix ) | Pindah ke session berikutnya |
| Prefix s | Pemilih session (tampilan pohon) |
| Prefix w | Pemilih window di semua session |
Copy Mode
Masuk dan Navigasi
| Prefix [ | Masuk copy mode |
| q | Keluar copy mode |
| Arrow / hjkl | Pindah kursor (mode vi) |
| Ctrl-u / Ctrl-d | Gulir halaman atas / bawah |
| g / G | Lompat ke atas / bawah |
| / | Cari ke depan |
| ? | Cari ke belakang |
| n / N | Hasil cari berikutnya / sebelumnya |
Memilih dan Menyalin
| Space | Mulai seleksi (mode vi) |
| Enter | Salin seleksi dan keluar |
| Prefix ] | Tempel buffer |
| v | Toggle seleksi persegi panjang (mode vi) |
Aktifkan mode vi: set -g mode-keys vi
Konfigurasi
Pengaturan Umum (~/.tmux.conf)
set -g mouse on # aktifkan mouse
set -g base-index 1 # window mulai dari 1
set -g renumber-windows on # penomoran ulang saat ditutup
set -g default-terminal "tmux-256color"
set -g history-limit 50000
Muat Ulang Konfigurasi
tmux source-file ~/.tmux.conf # dari shell
# atau Prefix : lalu ketik:
source-file ~/.tmux.conf
Status Bar
Opsi Status Bar
set -g status-position top
set -g status-style "bg=black,fg=white"
set -g status-left "[#S] "
set -g status-right "%H:%M %d-%b"
set -g status-interval 5
Variabel Format
| #S | Nama session |
| #I | Indeks window |
| #W | Nama window |
| #P | Indeks pane |
| #H | Nama host |
| #T | Judul pane |
Pintasan Keyboard
Binding Kustom
# ganti prefix ke Ctrl-a
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# navigasi pane gaya vim
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
Sintaks Binding
| bind X command | Ikat Prefix + X ke perintah |
| bind -n M-Left prev | Ikat tanpa prefix (Alt-Left) |
| bind -r H resize-pane -L 5 | Binding yang bisa diulang |
| unbind X | Hapus binding |
| Prefix ? | Tampilkan semua binding tombol saat ini |
Skrip
Layout Terskrip
tmux new-session -d -s dev
tmux send-keys -t dev "vim" Enter
tmux split-window -h -t dev
tmux send-keys -t dev "npm run dev" Enter
tmux attach -t dev
Perintah Berguna
| tmux send-keys -t sess 'cmd' Enter | Kirim penekanan tombol ke session |
| tmux capture-pane -p | Cetak isi pane ke stdout |
| tmux display-message '#S' | Tampilkan pesan / variabel |
| tmux set-environment -g VAR val | Set variabel lingkungan |
| tmux list-keys | Tampilkan semua binding tombol |
Pola Umum
Rekomendasi ~/.tmux.conf
set -g mouse on
set -g base-index 1
set -g mode-keys vi
set -g status-position top
set -g history-limit 50000
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
Resep Cepat
| Bertahan dari putusnya SSH | tmux new -s work → putus → tmux attach -t work |
| Berbagi session | Kedua user tmux attach -t sama (hanya baca: -r) |
| Simpan scrollback | tmux capture-pane -S -3000 -p > log.txt |
| Hapus pane macet | Prefix x, atau tmux kill-pane -t %N |
| Susun ulang window | :swap-window -s 3 -t 1 |