Chuyên mục
Linux

Lên đời Terminal với Zsh và Oh My Zsh

Trước giờ sử dụng MacOS hay Linux mình chỉ biết đến Bash – trình quản lý dòng lệnh mặc định của hệ thống. Gần đây tìm hiểu mới biết thêm về Zsh cùng sự tiện lợi và linh hoạt của nó so với Bash.

Bài viết này mình tổng hợp lại cách cài đặt và cấu hình Zsh, để dành tham khảo lại khi cần.

I. Cài đặt Zsh

Mình cài đặt Zsh trên EndeavourOS bằng lệnh sau

yay -S zshCode language: Nginx (nginx)

Còn bên Ubuntu / Debian thì dùng apt

apt install zshCode language: Nginx (nginx)

Sau khi cài xong, mở Terminal lên và gõ zsh. Trong lần truy cập đầu tiên, zsh sẽ yêu cầu thiết lập cấu hình. Chọn 0 và Enter.

This is the Z Shell configuration function for new users,
zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~).  This function can help you with a few settings that should
make your use of the shell easier.

You can:

(q)  Quit and do nothing.  The function will be run again next time.

(0)  Exit, creating the file ~/.zshrc containing just a comment.
     That will prevent this function being run again.

(1)  Continue to the main menu.

--- Type one of the keys in parentheses --- 
Code language: Dockerfile (dockerfile)

Để chuyển từ Bash qua Zsh, nhập zsh vào Terminal và bấm Enter. Bạn sẽ thấy giao diện thay đổi như bên dưới

Bash
Zsh

II. Cài đặt Oh My Zsh

Oh My Zsh là bộ công cụ mở rộng không thể thiếu khi sử dụng Zsh, giúp bổ sung tính năng và sự linh hoạt.

Cài đặt Oh My Zsh bằng dòng lệnh sau

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"Code language: Bash (bash)

Trong quá trình cài đặt, nó sẽ hỏi bạn có muốn chọn zsh làm trình quản ly shell mặc định: Do you want to change your default shell to zsh? [Y/n]. Bấm Y và Enter để xác nhận.


Cloning Oh My Zsh...
remote: Enumerating objects: 1280, done.
remote: Counting objects: 100% (1280/1280), done.
remote: Compressing objects: 100% (1234/1234), done.
remote: Total 1280 (delta 27), reused 1181 (delta 26), pack-reused 0
Receiving objects: 100% (1280/1280), 1.07 MiB | 1.54 MiB/s, done.
Resolving deltas: 100% (27/27), done.
From https://github.com/ohmyzsh/ohmyzsh
 * [new branch]      master     -> origin/master
branch 'master' set up to track 'origin/master'.
Already on 'master'
/home/thuanbui

Looking for an existing zsh config...
Found ~/.zshrc. Backing up to /home/thuanbui/.zshrc.pre-oh-my-zsh
Using the Oh My Zsh template file and adding it to ~/.zshrc.

Time to change your default shell to zsh:
Do you want to change your default shell to zsh? [Y/n] Y
Changing your shell to /usr/bin/zsh...
[sudo] password for thuanbui: 
Changing shell for thuanbui.
Shell changed.
Shell successfully changed to '/usr/bin/zsh'.

         __                                     __   
  ____  / /_     ____ ___  __  __   ____  _____/ /_  
 / __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \ 
/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / / 
\____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_/  
                        /____/                       ....is now installed!


Before you scream Oh My Zsh! look over the `.zshrc` file to select plugins, themes, and options.

 Follow us on Twitter: @ohmyzsh
 Join our Discord community: Discord server
 Get stickers, t-shirts, coffee mugs and more: Planet Argon Shop

  ~Code language: YAML (yaml)

Sau khi cài đặt xong, tắt và mở lại Terminal, bạn sẽ thấy giao diện con trỏ thay đổi như bên dưới

Một số tính năng tiện lợi mình tận dụng ngay sau khi cài đặt Zsh và Oh My Zsh:

  • Gõ trực tiếp tên thư mục để truy cập, ví dụ Music, không cần phải gõ cd Music như khi dùng Bash
  • Có thêm lệnh ... hay .... để truy cập ngược lên các tầng thư mục ở trên. Mỗi chấm . tương ứng với 1 tầng.
  • Có thể bấm Tab trong khi gõ lệnh để lựa chọn thông số, rất tiện lợi.
  • Có thể cài thêm plugin để bổ sung tính năng và cài theme để thay đổi giao diện.

III. Cài đặt plugins

Oh My Zsh đi kèm theo hơn 200 plugins để mở rộng tính năng cho Zsh (xem danh sách). Tuy nhiên, mặc định tất cả plugin đều đang bị tắt, cần phải kích hoạt bằng bằng tay bằng cách thay đổi nội dung cấu hình trong file .zshrc

1. Chỉnh sửa file .zshrc

Tất cả cấu hình của Zsh được lưu trong file .zshrc nằm trong thư mục home của tài khoản. Để kích hoạt plugin, cần phải chỉnh sửa file này

sudo nano ~/.zshrcCode language: Nginx (nginx)

Tìm đến dòng plugins = () và sửa lại như sau

plugins=(
        git
        docker
        docker-compose
        history
        rsync
        safe-paste
)Code language: Bash (bash)

Mình chọn kích hoạt 6 plugin: git, docker, docker-compose, history, rsync và safe-paste. Mỗi tên plugin cần phải cách nhau bằng khoảng trắng hoặc xuống dòng, không được sử dụng dấu , hay - để ngăn cách.

3. Cài đặt zsh-autosuggestions

Plugin này bổ sung tính năng gợi ý tự động khi gõ lệnh, dựa vào lịch sử sử dụng trước đó.

Cài đặt zsh-autosuggestions bằng lệnh sau

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestionsCode language: Nginx (nginx)

Tiếp theo, kích hoạt bằng cách chỉnh sửa lại file .zshrc, bổ sung thêm dòng zsh-autosuggestions

plugins=(
        git
        docker
        docker-compose
        history
        rsync
        safe-paste
        zsh-autosuggestions
)Code language: Bash (bash)

3. Cài đặt zsh-syntax-highlighting

zsh-syntax-highlighting là một plugin hữu ích khác của zsh giúp hiển thị mã màu trong khi dòng lệnh. Nhờ vậy, chúng ta có thể nhanh chóng nhận ra lỗi trong khi gõ lệnh.

Cài đặt bằng lệnh sau

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlightingCode language: Nginx (nginx)

Tiếp theo, kích hoạt bằng cách chỉnh sửa lại file .zshrc, bổ sung thêm dòng zzsh-syntax-highlighting

plugins=(
        git
        docker
        docker-compose
        history
        rsync
        safe-paste
        zsh-autosuggestions
        zsh-syntax-highlighting
)Code language: Bash (bash)

IV. Cài đặt themes

Oh My Zsh đi kèm theo rất nhiều theme để bạn chọn lựa (xem danh sách). Theme mặc định của Oh My Zsh là RobbyRussell.

Bạn có thể đổi qua theme khác bằng cách chỉnh sửa file dòng ZSH_THEME="robbyrussell" trong file .zshrc

ZSH_THEME="strug"Code language: JavaScript (javascript)

Lưu lại, thoát ra và mở Terminal mới. Giao diện Strug sẽ hiện ra như sau.

Giao diện Strug của Oh My Zsh

Terminal giờ nhìn chuyên nghiệp, ra dáng hacker hơn hẳn.

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng mò vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!

Bởi Thuận Bùi

Runner at Yêu Chạy Bộ. Blogger at Ba Lô & Dép Lào. Web Developer at TB's Blog.
Follow me: Facebook / Instagram

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *