Nâng cấp Terminal Ubuntu với Zsh & Oh My Zsh: Đừng để Bash làm chậm tiến độ của bạn

Ubuntu tutorial - IT technology blog
Ubuntu tutorial - IT technology blog

Bash mặc định: Khi sự đơn giản trở thành rào cản

Hồi mới chân ướt chân ráo dùng Ubuntu, mình cực kỳ trung thành với giao diện Terminal đen trắng của Bash. Lúc đó mình chỉ nghĩ đơn giản: “Cần gì đẹp, cứ gõ lệnh chạy được là xong”. Thế nhưng, khi bắt đầu ôm những dự án lớn và quản lý cùng lúc hơn 20 con VPS, mình mới nhận ra Bash đang vô tình kéo lùi tốc độ làm việc của mình như thế nào.

Vấn đề gây ức chế nhất là màn “mèo vờn chuột” với các thư mục. Mỗi lần muốn truy cập vào một folder sâu tít bên trong, mình phải gõ ls rồi cd mỏi tay. Ám ảnh hơn là khi làm việc với Git.

Bash không hiển thị branch hiện tại, khiến mình không ít lần git push nhầm lên nhánh main chỉ vì… quên check. Những lỗi ngớ ngẩn như gõ thiếu một dấu gạch ngang trong lệnh apt install cũng chỉ được phát hiện sau khi nhấn Enter. Những giây lãng phí đó cộng dồn lại khiến một ngày làm việc dài hơn một cách vô ích.

Tại sao Bash lại ngốn thời gian của bạn?

Nói công tâm, Bash (Bourne Again Shell) là một tượng đài về sự ổn định trên Linux. Tuy nhiên, ổn định không đồng nghĩa với năng suất cao cho cá nhân. Bash được thiết kế từ nhiều thập kỷ trước, ưu tiên tính tương thích hơn là trải nghiệm người dùng hiện đại.

Trung bình một lập trình viên gõ khoảng 200 – 500 câu lệnh mỗi ngày. Bash thiếu đi những tính năng thông minh để tối ưu con số này:

  • Tự động gợi ý (Autosuggestion): Bash không biết bạn định gõ gì tiếp theo dựa trên lịch sử.
  • Tô màu cú pháp (Syntax Highlighting): Bạn không biết lệnh mình gõ đúng hay sai cho đến khi nhấn Enter.
  • Thông tin trạng thái: Bash không hiển thị branch Git, môi trường Python venv hay Node version ngay trên dòng lệnh.

Fish hay Zsh: Đâu là chân ái?

Mình từng thử qua Fish shell và suýt chút nữa đã yêu nó vì sự thông minh vượt trội, cài xong là dùng luôn. Nhưng ngặt nỗi, Fish không tuân theo chuẩn POSIX. Nhiều script Bash quan trọng sẽ không chạy được trên Fish, buộc bạn phải học lại cách viết script riêng. Với một người quản trị hệ thống, đây là một rủi ro không đáng có.

Zsh xuất hiện như một sự giao thoa hoàn hảo. Nó vừa tương thích ngược với Bash, vừa có khả năng mở rộng cực mạnh thông qua plugin. Khi kết hợp với Oh My Zsh, Terminal của bạn sẽ lột xác hoàn toàn.

Combo tăng tốc Terminal: Zsh + Oh My Zsh

Đây là quy trình mình luôn thực hiện đầu tiên trên mọi server Ubuntu mới để biến Terminal từ “xe đạp” thành “mô tô”.

Bước 1: Cài đặt Zsh

Việc cài đặt cực kỳ nhanh gọn thông qua apt:

sudo apt update
sudo apt install zsh -y

Sau khi cài xong, bạn khoan hãy đổi shell mặc định ngay. Hãy để bước đó cho Oh My Zsh xử lý.

Bước 2: Cài đặt Oh My Zsh

Oh My Zsh là một framework giúp quản lý cấu hình Zsh cực kỳ nhàn. Bạn chỉ cần chạy đúng một dòng lệnh này:

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

Khi hệ thống hỏi bạn có muốn đổi shell mặc định sang Zsh không, hãy gõ Y. Terminal lúc này sẽ thay đổi giao diện, báo hiệu bạn đã cài đặt thành công.

Bước 3: Giao diện chuyên nghiệp với Powerlevel10k

Dù theme mặc định của Oh My Zsh khá ổn, nhưng nếu muốn tối ưu thông tin hiển thị, Powerlevel10k là lựa chọn số một. Nó cực nhanh và cực đẹp.

Tải theme về máy:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Mở file cấu hình bằng nano:

nano ~/.zshrc

Tìm dòng ZSH_THEME và sửa thành: ZSH_THEME="powerlevel10k/powerlevel10k". Khởi động lại Terminal, một bảng hướng dẫn setup trực quan sẽ hiện ra để bạn cá nhân hóa giao diện theo ý muốn.

Bước 4: Vũ khí bí mật từ Plugins

Đây mới là linh hồn giúp bạn làm việc nhanh hơn. Mình luôn cài ít nhất 2 plugin sau:

  1. zsh-autosuggestions: Nó sẽ gợi ý lệnh mờ mờ dựa trên lịch sử. Bạn chỉ cần gõ d rồi nhấn mũi tên phải là xong lệnh docker-compose up.
  2. zsh-syntax-highlighting: Lệnh đúng hiện màu xanh, lệnh sai hiện màu đỏ. Cực kỳ hữu ích để tránh các lỗi typo ngớ ngẩn.

Cài đặt nhanh bằng cách clone repo:

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Kích hoạt chúng trong file ~/.zshrc bằng cách thêm vào dòng plugins:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

Cuối cùng, chạy source ~/.zshrc để tận hưởng thành quả.

Đánh giá sau 6 tháng thực chiến

Sau nửa năm vứt bỏ Bash để sang Zsh, mình thấy đây là khoản đầu tư 10 phút hời nhất. Khả năng tự động gợi ý giúp mình tiết kiệm hàng ngàn lượt nhấn phím mỗi ngày. Việc nhìn thấy branch Git ngay trên dấu nhắc lệnh cũng giúp mình chấm dứt hoàn toàn tình trạng commit nhầm nhánh.

Nhiều bạn lo cài plugin sẽ làm chậm máy. Tin vui là Zsh cùng Powerlevel10k được tối ưu rất sâu. Ngay cả trên con VPS còi cọc nhất (1 vCPU, 1GB RAM), độ trễ khi gõ lệnh gần như bằng không. Nếu bạn vẫn đang dùng Bash, hãy thử nâng cấp ngay hôm nay. Bạn sẽ thấy hối hận vì không biết đến combo này sớm hơn.

Share: