- Cho phép quản lý cùng lúc nhiều terminal
- Detach/attach terminal, nhờ vậy bạn có thể lấy lại được terminal đã bị mất trong khi kết nối ssh đột ngột bị ngắt.
- Cho phép tạo nhiều window trong một tmux session. Trong mỗi window, bạn lại có thể tạo ra nhiều pane. Pane sẽ chia nhỏ một window ra nhiều vùng theo chiều dọc hoặc chiều ngang
- Cho phép đặt tên cho session và từng window trong session
Bài viết này chỉ hướng dẫn cách sử dụng
Để tmux nhận command, nó cần một prefix key. Mặc định prefix key này là Ctrl + b. Tôi có thể cấu hình prefix của tmux trong ~/.tmux.conf
set -g prefix C-a ### dùng ctrl + a làm phím prefix
unbind C-b
bind C-a send-prefix
Để khởi động tmux, tôi chỉ cần gõ tmux. Sau đây, tôi sẽ liệt kê một số command cần thiết:
Các command bắt đầu bằng C-a (Ctrl + a) chỉ có tác dụng nếu tôi đang ở trong một tmux:
C-a s: Danh sách các tmux session
C-a d: Detach tmux session hiện tại
C-a $: Đặt tên cho session hiện tại
C-a c: Tạo mới window
C-a w: Danh sách các window
C-a ,: Đặt tên cho window hiện tại
C-a &: Kill window hiện tại
exit: Thoát và kill window hiện tại
C-a %: Chia đôi window hiện tại thành hai pane theo chiều dọc
C-a ": Chia đôi window hiện tại thành hai pane theo chiều ngang
C-a [arrow key]: Di chuyển qua lại giữa các pane trên window
Chia pane rất tiện dụng khi vừa chạy chương trìn, vừa xem log của chương trình.
C-a x: Kill pane hiện tại.
Copy paste giữa các window hoặc pane
C-a [ để vào copy mode. Dùng C -spacebar để bôi đen vùng. Dùng arrow key để di chuyển lên xuống, trái phải. Dùng Alt + w để copy. Cuối cùng dùng C-a ] để paste vào một window hoặc pane khác.
Các command sau sẽ có tác dụng khi tôi ở ngoài tmux session:
tmux list-sessions: Danh sách các tmux session.
tmux attach -t <sessionname>: Session name có thể lấy từ kết quả chạy lệnh tmux list-sessions. Bạn có thể attach lại tmux terminal qua session name
tmux kill-session -t <sessionname>: Kill một session xác định
tmux kill-server: Kill tất cả tmux session