Tmux là một terminal multiplexer tuyệt vời có thể hợp nhất và quản lý các phiên console khác nhau. Trong khi các tính năng cốt lõi của nó bao gồm hầu hết mọi trường hợp sử dụng, nó cũng có một framework plugin cho phép bạn định hình chương trình theo nhu cầu của mình. Bài viết này sẽ giới thiệu một số plugin tốt nhất cho Tmux có thể giúp tối ưu hóa quy trình làm việc trong Terminal của bạn.
1. tmux-menus
Nếu bạn mới sử dụng Tmux, việc học mọi phím tắt có thể rất khó khăn và dễ gây nản chí. Với các phím tắt kết hợp không trực quan, bạn dễ quên những phím tắt cần để sử dụng các tính năng Tmux ít được biết đến như chế độ sao chép và đánh dấu ngăn.

Tmux-menus là một plugin đơn giản giải quyết vấn đề này. Nó cung cấp một menu dựa trên TUI trực quan và sạch sẽ mà bạn có thể truy cập bằng cách nhấn Ctrl + \. Bên trong, nó đi kèm với mọi chức năng Tmux, cho phép bạn chọn trực quan những gì bạn cần thay vì ghi nhớ các phím tắt của chúng.

Ngoài việc làm cho Tmux có thể truy cập được, một tính năng được yêu thích ở Tmux-menus là khả năng cấu hình. Mỗi mục menu bên trong plugin chỉ là liên kết đến một script shell. Điều này có nghĩa là với một chút hiểu biết về Bash, bạn có thể dễ dàng đưa các hàm tùy chỉnh vào Tmux-menus.

2. tmux-resurrect
Một trong những điểm khó khăn lớn nhất của Tmux là nó là một chương trình không có trạng thái. Điều này có nghĩa là nó sẽ không nhớ bất cứ điều gì về phiên sau khi bạn đóng. Điều này thật khó chịu vì nó buộc bạn phải tạo lại bố cục Tmux của mình bất cứ khi nào khởi động lại máy tính.

Tmux-resurrect là một công cụ có thể giúp giải quyết vấn đề này. Đây là một plugin không rườm rà giúp bảo toàn toàn bộ môi trường Tmux, bao gồm thứ tự cửa sổ và bố cục khung. Nó cũng lưu trữ những snapshot của các phiên, nghĩa là bạn có thể "quay ngược thời gian" và load các phiên bản khác nhau của thiết lập Tmux.

Một tính năng khác mà người dùng thích ở Tmux-resurrect là nó có thể lưu trạng thái của một chương trình đang chạy. Tuy nhiên, việc triển khai chưa hoàn hảo và tính năng này chỉ bao gồm một số ít ứng dụng. Tuy nhiên, plugin xử lý đủ tốt để giúp thiết lập Tmux của bạn liền mạch hơn.

3. tmux-notify
Việc theo dõi các chương trình nền có thể khó khăn nếu bạn đang xử lý nhiều ngăn và phiên Tmux. Theo kinh nghiệm, điều này dẫn đến những lúc bạn quên rằng mình có một lệnh đang chạy ở chế độ nền và vô tình đóng Tmux.

Tmux-notify là một plugin gửi thông báo khi phát hiện ra một tiến trình đã hoàn tất. Nó hoạt động bằng cách kiểm tra bất kỳ ngăn Tmux nào đang hoạt động vừa chuyển sang Bash shell prompt. Sau đó, plugin sẽ gửi một thông báo libnotify, có thể là âm thanh terminal trực quan hoặc tiếng ping có thể nghe được.

Mặc dù kiểu thông báo đó phù hợp với hầu hết người dùng, Tmux-notify cũng cung cấp hỗ trợ cho bot Telegram, cảnh báo Pushover và lệnh tùy chỉnh. Điều này giúp tích hợp Tmux-notify vào hầu hết mọi quy trình làm việc, khiến nó trở thành một lựa chọn hấp dẫn cho những người thích mày mò muốn điều chỉnh thiết lập terminal của họ.
4. tmux-jump
Điều hướng buffer có thể được coi là một trong những phần vụng về nhất của Tmux. Multiplexer này không cung cấp phím tắt tích hợp để di chuyển ra ngoài chế độ sao chép và tiêu điểm cửa sổ. Nếu là người sử dụng Tmux cho các tác vụ năng suất hàng ngày, bạn sẽ thấy sự kỳ quặc kỳ lạ này vừa tẻ nhạt vừa gây khó chịu, đặc biệt là đối với các phiên terminal dài.
Tmux-jump giải quyết vấn đề này bằng cách làm cho việc điều hướng ngăn Tmux vừa dễ dàng vừa trực quan. Lấy cảm hứng từ Vimium, nó sử dụng các gợi ý từ khóa để tạo "jump point" bên trong các cửa sổ Tmux của bạn. Những điểm này cho phép bạn di chuyển nhanh bên trong Tmux mà không cần dựa vào các phím tắt phức tạp của nó.

Tmux-jump tỏa sáng nhất khi bạn kết hợp nó với các plugin như EasyMotion cho Vim. Trong trường hợp ví dụ, thiết lập này tạo ra một quy trình làm việc nhất quán trong đó terminal và trình soạn thảo văn bản tuân theo cùng một phím tắt chuyển động. Điều này khiến chúng hoạt động tương tự như một IDE, việc khó có thể sao chép đối với các chương trình như Emacs.

5. treemux
Treemux là một plugin mạnh mẽ tích hợp liền mạch trình duyệt file theo kiểu cây của Neovim với Tmux. Nó có thể điều hướng các thư mục, mở file và thậm chí hiển thị thư mục làm việc hiện tại. Điều này khiến nó trở thành một plugin vô giá nếu bạn muốn tạo IDE dựa trên Neovim bên trong Tmux.

Nhà phát triển Treemux cũng thiết kế plugin này sao cho kín đáo nhất có thể. Theo mặc định, plugin này không hiển thị và điều chỉnh kích thước tùy theo ngăn mà nó được gắn vào. Do đó, Treemux là một plugin tuyệt vời nếu bạn thích một terminal với ít sự xao nhãng nhất.

Cuối cùng, Treemux có một vài tiện ích mở rộng Neovim mở rộng bộ tính năng mặc định của plugin. Tmuxsend.vim bổ sung hỗ trợ gửi đường dẫn đầy đủ từ Treemux đến Tmux, giúp tham chiếu file nhanh chóng và dễ dàng. Trong khi đó, nvim-tree-remote.nvim cho phép bạn mở file trong Treemux bằng cách nhấp đúp vào file bằng chuột.
Cuối cùng, Tmux chỉ là một chương trình ghép kênh và các plugin này sẽ chỉ mở rộng những gì nó hiện đang làm.