Terminal productivity: Tối ưu hiệu suất làm việc trên Linux/macOS

Terminal productivity: Tối ưu hiệu suất làm việc trên Linux/macOS

Terminal là công cụ không thể thiếu cho devops, lập trình viên và quản trị hệ thống. Tuy nhiên, nhiều người chỉ sử dụng terminal ở mức cơ bản, bỏ qua những tính năng mạnh mẽ giúp tăng năng suất đáng kể. Bài viết này chia sẻ các mẹo và công cụ thực tế để bạn trở thành một terminal power user.

1. Sử dụng shell hiện đại: Zsh + Oh My Zsh

Thay vì Bash mặc định, chuyển sang Zsh kết hợp Oh My Zsh mang lại giao diện đẹp, plugin autosuggestion, syntax highlighting và nhiều thème phong phú. Cài đặt đơn giản:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Sau khi cài đặt, bạn sẽ nhận được:

  • Autosuggestion: gợi ý lệnh dựa trên lịch sử
  • Syntax highlighting: màu lệnh giúp phát hiện lỗi nhanh
  • Plugins: git, docker, kubectl, aws, v.v.
  • Themes: Powerlevel10k cung cấp prompt đẹp và thông tin chi tiết

2. Tmux: Multiplex terminal như một profi

Tmux cho phép chia terminal thành nhiều panel, tạo session biệt lập và khôi phục công việc sau khi đăng xuất. Các phím tắt quan trọng:

  • Ctrl+b c: Tạo panel mới
  • Ctrl+b %: Chia dọc
  • Ctrl+b ": Chia ngang
  • Ctrl+b [: Vào chế độ copy mode
  • Ctrl+b d: Đet session (session vẫn chạy ở background)
  • tmux attach -t session_name: Gắn lại session

Kết hợp với Tmux Plugin Manager (TPM) để tự động cài plugin như tmux-resurrect (lưu/restore session) và tmux-yank (synchronize clipboard).

3. Fzf: Finder siêu tốc cho mọi thứ

Fzf là công cụ tìm kiếm fuzzy cho terminal, tích hợp với shell để tìm file, lịch sử lệnh, process, git branch, v.v. trong giây lát. Cài đặt:

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install

Sau khi cài đặt, bạn có thể:

  • Ctrl+r: Tìm lịch sử lệnh
  • Alt+c: Thay đổi thư mục bằng fzf
  • Ctrl+t: Chèn đường dẫn file vào lệnh
  • Trong vim/nvim: :Files, :Buffers, :Lines

4. Alias và hàm shell thông minh

Đừng lặp lại lệnh dài. Tạo alias trong ~/.zshrc hoặc ~/.bashrc:

# Alias thường dùng
alias ll='ls -la'
alias gs='git status'
alias gp='git push'
alias gcb='git checkout -b'
alias dcu='docker compose up'
alias dcd='docker compose down'
# Hàm sao lưu database nhanh
function dbbackup() {
local db=$1
mysqldump -u root -p "$db" > "$(date +%F)_$db.sql"
}

Hàm shell cho phép truyền tham số và thực hiện logic phức tạp hơn so với alias đơn thuần.

5. Starship: Prompt cross-shell đẹp và nhanh

Nếu bạn muốn một prompt nhất quán giữa Zsh, Bash, Fish, Powershell, hãy thử Starship. Cài đặt qua:

curl -sS https://starship.rs/install.sh | sh

Thêm vào ~/.zshrc:

eval "$(starship init zsh)"

Starship hiển thị thông tin Git, phiên bản ngôn ngữ, thời gian thực thi lệnh, sử dụng CPU/RAM, tudo mà không làm chậm prompt.

6. Direnv: Tự động load biến môi trường theo thư mục

Đôi khi bạn cần thiết lập các biến môi trường khác nhau cho mỗi project. Thay vì export thủ công, dùng direnv để tự động load/unload khi chuyển thư mục:

echo 'export API_KEY="your_key"' > .envrc
direnv allow

Direnv hỗ trợ nhiều ngôn ngữ và framework qua stdlib.

7. Bat: Cat với syntax highlighting và git integration

Thay vì cat thông thường, dùng bat để xem file với syntax highlighting, số dòng và thay đổi git:

bat /etc/passwd
bat --diff file_before.py file_after.py

Bat cũng hỗ trợ thematic và có thể làm pager mặc định cho man.

8. Htop và bottom: Giám sát tiến trình trực quan

Thay vì top, hãy dùng htop hoặc bottom để xem penggunaan CPU, RAM, các tiến trình đang chạy trong giao diện dựa trên curses. Hỗ trợ tìm kiếm, lọc và kết thúc tiến trình trực tiếp từ giao diện。

9. Ngrok: Expose localhost ra internet trong giây lát

Cần chia sẻ web app local với đồng nghiệp hoặc khách hàng? Dùng ngrok để tạo tunnel công khai:

ngrok http 8000

Ngrok cung cấp URL công khai, hỗ trợ inspect trafic và có thể bảo vệ bằng mật khẩu.

10. Asciinema: Ghi lại terminal như một video

Thay vì chụp màn hình hoặc ghi videoDesktop, dùng asciinema để ghi lại terminal session dưới dạng text, dễ chia sẻ và nhúng vào documentation:

asciinema rec demo.cast
# Sau khi finished, upload:
asciinema upload demo.cast

Asciinema files nhỏ, có thể đi kèm với README để minh họa cách sử dụng CLI.

Lời kết

Terminal không chỉ là một dòng đen trắng; nó là một môi trường lập trình đầy tiềm năng. Bằng cách đầu tư thời gian vào việc tối ưu shell, multiplexer, finder và các công cụ hỗ trợ, bạn có thể rút ra hàng giờ mỗi tuần và tập trung vào những việc quan trọng hơn. Hãy bắt đầu với một hoặc hai mẹo từ danh sách trên, dần dần tích hợp vào công việc hàng ngày. Chúc bạn có một terminal thật mạnh mẽ!

Màn hình terminal với Zsh, Oh My Zsh, syntax highlighting và prompt đẹp
Cấu trúc panel Tmux với nhiều cửa sół làm việc đồng thời
Giao diện Fzf đang tìm file trong thư mục dự án

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

Theme Oh My Zsh robbyrussell: giao diện terminal đẹp mắt với git status

Zsh + Oh My Zsh: Cấu hình terminal hiệu quả cho developer

Zsh + Oh My Zsh: Cấu hình terminal hiệu quả cho developer Terminal là công cụ không thể thiếu đối với mọi nhà phát triển. Tuy nhiên, terminal mặc định…

Xem thêm

Zed Editor: Trình soạn thảo mã hiệu suất cao viết bằng Rust cho macOS/Linux

Zed Editor: Trình soạn thảo mã hiệu suất cao viết bằng Rust cho macOS/Linux Zed là code editor thế hệ mới, phát hành 1.0 vào tháng 1/2024, được xây dựng…

Xem thêm

iOS 18: 12 Tính Năng Ẩn Và Mẹo Nâng Cao Cho iPhone 16/15/14

iOS 18 mang đến nhiều thay đổi lớn nhất kể từ iOS 7: màn hình chủ sở hữu tùy chỉnh, Control Center đa trang, ứng dụng Passwords độc lập, và…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất