Tùy biến Tmux: Hướng dẫn làm đẹp và tối ưu trải nghiệm Terminal

13 tháng 4, 2026·7 phút đọc

Tmux là công cụ mạnh mẽ nhưng cấu hình mặc định thường gây khó khăn cho người mới. Bài viết này sẽ hướng dẫn bạn cách chỉnh sửa file cấu hình để thay đổi phím tắt, kích hoạt chuột và tùy biến giao diện, giúp Tmux trở nên trực quan và dễ dùng hơn.

Tùy biến Tmux: Hướng dẫn làm đẹp và tối ưu trải nghiệm Terminal

Tmux là một công cụ terminal multiplexer cực kỳ hữu ích cho các lập trình viên và quản trị hệ thống, đặc biệt là những người làm việc trên máy chủ từ xa (SSH). Tuy nhiên, nếu bạn mới bắt đầu làm quen với Tmux, bạn có thể sẽ cảm thấy các tổ hợp phím mặc định của nó khá "kỳ cục" và khó nhớ. Đừng lo lắng, bạn không đơn độc. Rất nhiều người dùng Tmux đều có nhu cầu tùy biến công cụ này để nó hoạt động thuận tiện và thoải mái hơn.

Thực tế, việc tùy biến giao diện và cách hoạt động của Tmux khá đơn giản. Bài viết này sẽ giới thiệu những kiến thức cơ bản về việc cấu hình Tmux và chia sẻ một số thiết lập mà tôi thấy hữu ích nhất để nâng cao hiệu suất làm việc.

File cấu hình tmux.conf

Việc tùy biến Tmux đơn giản chỉ là chỉnh sửa một file văn bản. Tmux sử dụng một file có tên là tmux.conf để lưu trữ cấu hình. Nếu bạn lưu file này tại đường dẫn ~/.tmux.conf (lưu ý: có dấu chấm ở đầu tên file, đây là file ẩn), Tmux sẽ tự động nhận diện file cấu hình này cho người dùng hiện tại của bạn.

Nếu muốn chia sẻ cấu hình cho nhiều người dùng, bạn cũng có thể đặt tmux.conf vào một thư mục hệ thống. Vị trí thư mục này sẽ khác nhau tùy theo hệ điều hành, bạn có thể xem trang hướng dẫn (man page) bằng lệnh man tmux và tìm tham số -f để biết chính xác đường dẫn.

Thay đổi phím Prefix dễ chịu hơn

Có lẽ sự thay đổi phổ biến nhất trong cộng đồng người dùng Tmux là thay đổi phím prefix (phím khởi đầu) từ Ctrl-b mặc định sang một phím khác dễ truy cập hơn. Cá nhân tôi sử dụng Ctrl-a thay thế. Tuy nhiên, bạn cần lưu ý rằng phím này có thể xung đột với lệnh "đi về đầu dòng" của bash.

Ngoài ra, tôi cũng đã remap phím Caps Lock để hoạt động như phím Ctrl vì tôi hiếm khi dùng Caps Lock. Điều này giúp tôi kích hoạt tổ hợp phím prefix một cách rất thoải mái.

Để thay đổi prefix từ Ctrl-b sang Ctrl-a, hãy thêm các dòng sau vào tmux.conf:

# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

Lệnh chia Pane trực quan hơn

Một điểm khác mà tôi thấy khá khó nhớ là các lệnh chia pane (khung cửa sổ). Sử dụng " để chia theo chiều dọc và % để chia theo chiều ngang thực sự không hợp lý với tư duy của tôi. Tôi thấy việc sử dụng các ký tự giống với hình dạng của sự chia cắt sẽ dễ nhớ hơn, vì vậy tôi chọn |- để chia pane theo chiều ngang và dọc:

# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %

Tải lại cấu hình nhanh chóng

Vì tôi thường xuyên thử nghiệm với file tmux.conf, tôi muốn có cách tải lại cấu hình một cách dễ dàng. Đó là lý do tôi thiết lập một lệnh để tải lại cấu hình khi nhấn phím r:

# reload config file (change file location to the tmux.conf you want to use)
bind r source-file ~/.tmux.conf

Chuyển Pane nhanh không cần Prefix

Việc chuyển đổi giữa các pane là một trong những thao tác phổ biến nhất khi sử dụng Tmux, do đó nó cần phải càng đơn giản càng tốt. Tôi không thích phải kích hoạt phím prefix liên tục. Tôi muốn có thể nhấn M- (M là Meta, thường là phím Alt) kết hợp với phím mũi tên để di chuyển.

Với sự sửa đổi này, tôi chỉ cần nhấn Alt-mũi tên trái để sang pane bên trái (và các hướng tương ứng khác):

# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

Kích hoạt chế độ chuột

Mặc dù Tmux tập trung vào việc chỉ sử dụng bàn phím (và đây chắc chắn là cách tương tác hiệu quả nhất với terminal), nhưng việc bật chế độ tương tác chuột với Tmux cũng rất hữu ích. Điều này đặc biệt giúp ích khi bạn ở trong tình huống người khác phải làm việc với cấu hình Tmux của bạn và họ đương nhiên không biết gì về các phím tắt hay Tmux nói chung. Pair Programming (lập trình cặp) là một ví dụ điển hình cho tình huống này.

Bật chế độ chuột cho phép bạn chọn các cửa sổ và pane khác nhau chỉ bằng cách nhấp chuột, cũng như thay đổi kích thước pane bằng cách kéo các đường viền. Tôi thấy nó khá tiện lợi và nó không gây phiền toái nhiều, nên tôi thường xuyên bật nó:

# Enable mouse control (clickable windows, panes, resizable panes)
set -g mouse on

Ngăn chặn việc đổi tên cửa sổ tự động

Tôi thích đặt tên tùy chỉnh cho các cửa sổ Tmux của mình bằng phím ,. Điều này giúp tôi đặt tên cửa sổ theo ngữ cảnh mà chúng đang tập trung vào. Mặc định, Tmux sẽ tự động cập nhật tiêu đề cửa sổ tùy thuộc vào lệnh cuối cùng được thực thi trong cửa sổ đó. Để ngăn Tmux ghi đè lên các tên cửa sổ "tuyệt vời" mà tôi đã chọn, tôi muốn chặn hành vi này:

# don't rename windows automatically
set-option -g allow-rename off

Thay đổi giao diện và màu sắc

Việc thay đổi màu sắc và thiết kế của Tmux phức tạp hơn một chút so với những gì tôi đã trình bày cho đến nay. Vì Tmux cho phép bạn tinh chỉnh giao diện của rất nhiều yếu tố (ví dụ: đường viền của pane, thanh trạng thái và các thành phần riêng lẻ của nó, thông báo), bạn sẽ cần thêm một vài tùy chọn để có được giao diện nhất quán. Bạn có thể làm cho nó đơn giản hoặc cầu kỳ tùy thích.

Giao diện Tmux đã được tùy biến màu sắcGiao diện Tmux đã được tùy biến màu sắc

Tùy thuộc vào bảng màu của bạn, Tmux kết quả sẽ trông giống như đoạn mã dưới đây. Trong đoạn mã này, tôi đang sử dụng các màu mặc định của terminal (bằng cách sử dụng các màu được đặt tên như red, yellow hoặc black). Điều này cho phép Tmux hoạt động tốt với bất kỳ chủ đề màu nào bạn đã đặt cho terminal.

# DESIGN TWEAKS
# don't do anything when a 'bell' rings
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none

# clock mode
setw -g clock-mode-colour yellow

# copy mode
setw -g mode-style 'fg=black bg=red bold'

# panes
set -g pane-border-style 'fg=red'
set -g pane-active-border-style 'fg=yellow'

# statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style 'fg=red'
set -g status-left ''
set -g status-left-length 10
set -g status-right-style 'fg=black bg=yellow'
set -g status-right '%Y-%m-%d %H:%M '
set -g status-right-length 50
setw -g window-status-current-style 'fg=black bg=red'
setw -g window-status-current-format ' #I #W #F '
setw -g window-status-style 'fg=red bg=black'
setw -g window-status-format ' #I #[fg=white]#W #[fg=yellow]#F '
setw -g window-status-bell-style 'fg=yellow bg=red bold'

# messages
set -g message-style 'fg=yellow bg=red bold'

Nếu bạn không muốn sử dụng màu mặc định của terminal mà thay vào đó muốn định nghĩa màu từ dải 256 màu, bạn có thể sử dụng colour0 đến colour256 thay vì red, cyan, v.v. khi định nghĩa màu sắc trong tmux.conf của mình.

Kết luận và tài liệu tham khảo

Có rất nhiều tài nguyên trên mạng nơi bạn có thể tìm thấy mọi người chia sẻ cấu hình Tmux của họ. GitHub và các dịch vụ lưu trữ mã nguồn khác là nguồn cung cấp tuyệt vời. Chỉ cần tìm kiếm "tmux.conf" hoặc các kho lưu trữ có tên "dotfiles" để tìm thấy một lượng lớn cấu hình có sẵn. Một số người chia sẻ cấu hình của họ trên blog cá nhân. Reddit cũng có một vài subreddit có thể mang lại cảm hứng hữu ích (ví dụ: /r/dotfiles và /r/unixporn).

Nếu bạn muốn tìm hiểu sâu hơn về cách tùy biến Tmux, nguồn chính thống nhất là trang man page của tmux (chỉ cần gõ man tmux để vào đó). Bạn cũng nên xem wiki chi tiết của tmux và phần Cấu hình Tmux của họ nếu bài viết này quá cơ bản với nhu cầu của bạn. Chúc bạn cấu hình thành công!

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗