0
0
Lập trình
Admin Team
Admin Teamtechmely

Tối ưu hóa Tmux trong lập trình: Hướng dẫn hoàn chỉnh

Đăng vào 5 ngày trước

• 4 phút đọc

Chủ đề:

LinuxoptimizeTmux

Giới thiệu

Bài viết này đánh dấu một năm kể từ bài viết trước của mình về Tmux vào tháng 5 năm 2023. Nhân dịp ngày nghỉ dài, mình sẽ tiếp tục chuỗi bài viết về Tmux với ba phần chính:

  • Làm việc hiệu quả với text và buffers trong tmux
  • Quản lý phiên làm việc với tmux
  • Cài đặt và sử dụng plugin trong tmux

I. Làm việc hiệu quả với text và buffers trong tmux

Khi làm việc với terminal, thao tác sao chép và dán văn bản thường xuyên xảy ra, đặc biệt là khi bạn sử dụng Tmux. Bạn sẽ cần cuộn lại buffer đầu ra để xem thông tin đã bị đẩy ra khỏi màn hình, và cũng cần sao chép văn bản từ Tmux để dán vào file hoặc chương trình khác. Hãy cùng tìm hiểu các kỹ thuật để quản lý văn bản hiệu quả:

Cuộn qua output với Copy Mode

Mở Tmux, bạn có thể cuộn ngược lại qua kết quả đầu ra bằng cách kích hoạt Copy mode:

  1. Nhấn PREFIX [ (PREFIX có thể là Ctrl + A)
  2. Sử dụng phím di chuyển để điều hướng.

Hãy cấu hình Tmux để sử dụng các phím di chuyển của Vim bằng cách thêm dòng sau vào file .tmux.conf:

Copy
setw -g mode-keys vi

Di chuyển nhanh trong Buffer:

  • Ctrl-b: Lên một trang
  • Ctrl-f: Xuống một trang
  • g: Nhảy đến đầu bộ đệm
  • G: Nhảy đến cuối bộ đệm

Tìm kiếm trong buffer:

  • ?: Tìm kiếm ngược
  • /: Tìm kiếm xuống
  • n: Chuyển đến kết quả tiếp theo
  • N: Chuyển đến kết quả trước đó

Sao chép và dán văn bản

Chế độ Copy của Tmux cho phép bạn chọn và sao chép văn bản vào một paste buffer. Để sao chép văn bản:

  1. Di chuyển con trỏ đến vị trí bắt đầu.
  2. Nhấn Space để bắt đầu chọn văn bản.
  3. Di chuyển đến cuối đoạn văn bản và nhấn Enter để sao chép.

Để dán văn bản đã sao chép, chỉ cần nhấn PREFIX ].

Capture a Pane

Bạn cũng có thể sao chép toàn bộ nội dung của một pane bằng lệnh capture-pane trong Command mode (PREFIX :):

Copy
capture-pane

Hiển thị và lưu buffer

Để hiển thị hoặc lưu buffer, bạn có thể sử dụng các lệnh sau:

  • Hiển thị: tmux show-buffer
  • Lưu: tmux save-buffer buffer.txt

Sử dụng nhiều paste buffers

Bạn có thể quản lý nhiều paste buffers bằng lệnh list-bufferschoose-buffer để lựa chọn buffer muốn dán.

Thay đổi phím tắt cho Copy và Paste

Nếu bạn quen với Vim, bạn có thể thay đổi phím tắt sao cho giống với Vim bằng cách thêm vào .tmux.conf:

Copy
bind Escape copy-mode
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection
unbind p
bind p paste-buffer

Làm việc với Clipboard trên Linux

Cài đặt xclip để tích hợp buffers của tmux với clipboard hệ thống:

Copy
sudo apt-get install xclip

Thêm vào tệp .tmux.conf:

Copy
bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"

Đúc kết

Sử dụng paste buffers trong Tmux giúp bạn quản lý văn bản hiệu quả cả trong môi trường không có GUI. Khả năng này cùng với việc nghe log đầu ra sẽ giúp tăng cường năng suất khi làm việc.

II. Quản lý phiên làm việc với Tmux

Nếu bạn sử dụng Tmux thường xuyên, bạn có thể tận dụng tmuxp để quản lý các phiên làm việc của mình. Hãy tìm hiểu cách cài đặt và sử dụng Tmuxp để cải thiện quy trình làm việc:

Cài đặt tmuxp

Cài đặt Tmuxp qua pip hoặc Ubuntu:

Copy
pip install --user tmuxp
Copy
sudo apt install tmuxp

Lợi ích của việc sử dụng tmuxp

  • Tự động hóa thiết lập: Định nghĩa cấu trúc phiên làm việc qua file cấu hình.
  • Tái sử dụng cấu hình: Giúp tiết kiệm thời gian thiết lập cho các dự án khác nhau.
  • Quản lý dự án hiệu quả: Tổ chức các cửa sổ và pane theo đúng quy trình làm việc.
  • Khả năng di động: Chia sẻ file cấu hình giữa các máy tính hoặc server.

Ví dụ về cấu hình phiên với tmuxp

Tạo file cấu hình datnt114.yaml:

Copy
session_name: datnt114
windows:
  - window_name: sys
    layout: tiled
    panes:
      - shell_command:
          - btop
      - shell_command:
          - nvitop

  - window_name: code
    layout: main-horizontal
    panes:
      - shell_command:
          - cd /hdd/learn/python-mastery/
          - nvim README.md

Để khởi động phiên, sử dụng lệnh:

Copy
tmuxp load ~/.tmuxp/datnt114.yaml

III. Cài đặt plugin trong Tmux

Tmux cũng có hệ sinh thái plugin phong phú. Để cài đặt, tải Tmux Plugin Manager:

Copy
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

Thêm cấu hình vào cuối file ~/.tmux.conf:

Copy
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'

Một số plugin hữu ích:

  • tmux-plugins/tmux-sensible: Cấu hình mặc định thông minh cho Tmux.
  • odedlaz/tmux-onedark-theme: Chủ đề tối cho Tmux.
  • tmux-plugins/tmux-resurrect: Giúp khôi phục phiên làm việc sau khi khởi động lại máy.
  • Tmux-fzf: Tìm kiếm các câu lệnh nhanh chóng.

Bài viết đã cung cấp thông tin chi tiết về cách tối ưu hóa và sử dụng Tmux hiệu quả. Hy vọng các bạn sẽ áp dụng thành công!

IV. Tài liệu tham khảo

  1. Matthieu Cneude - Building your Mouseless Development Environment (2021)
  2. Hogan - tmux 2 Productive Mouse-Free Development
  3. Terminal Setup with Zsh + Tmux + Dracula Theme
  4. Tmux Cheat Sheet & Quick Reference: https://tmuxcheatsheet.com/
  5. Tài liệu hữu ích từ tác giả của Tmuxp: https://leanpub.com/the-tao-of-tmuxhttps://tmuxp.git-pull.com/about_tmux.html
  6. File cấu hình tmux của mình: .tmux.conf
    source: viblo
Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào