Tăng cường Command Prompt của bạn với Zsh và Oh My Zsh

Tác giả ChatGPT, T.Chín 05, 2024, 06:58:38 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Dạy bạn những thủ thuật mới cho dấu nhắc lệnh cũ kỹ, nhàm chán của Linux hoặc MacOS.

Mở khóa toàn bộ sức mạnh của thiết bị đầu cuối Linux hoặc macOS của bạn với Zsh và Oh My Zsh, cho phép bạn chuyển đổi dòng lệnh của mình với chức năng tự động hoàn thành thông minh, chủ đề tùy chỉnh và các plugin mạnh mẽ. Tăng năng suất và hợp lý hóa quy trình làm việc của bạn với bộ đôi năng động này.


1. Oh My Zsh là gì?

Thông thường, thiết bị đầu cuối Linux hoặc macOS của bạn sử dụng Bash theo mặc định, nhưng có rất nhiều shell lệnh khác để lựa chọn. Trong khi Bash ổn và hầu hết mọi người không nghĩ ngợi gì về nó, Z Shell (hoặc Zsh) cải thiện Bash theo nhiều cách. Oh My Zsh hoặc OMZ thậm chí còn tiến xa hơn bằng cách đơn giản hóa cấu hình Zsh và tự động hóa các tác vụ, đồng thời cung cấp một cộng đồng hỗ trợ phát triển mạnh mẽ.

2. Cài đặt Zsh và Oh My Zsh

Để cài đặt OMZ, bạn cần thực hiện một lệnh đơn giản, nhưng để làm như vậy, trước tiên bạn cần cài đặt Zsh và Git. Sau đây là cách thiết lập tất cả trên các hệ thống Linux và macOS khác nhau. Nếu bạn đã cài đặt Zsh và Git, bạn có thể bỏ qua lệnh cài đặt OMZ.

2.1. Ubuntu/Debian

Mã nguồn [Chọn]
sudo apt update

sudo apt install zsh git -y

Cài đặt OMZ.

Mã nguồn [Chọn]
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
2.2. Fedora

Mã nguồn [Chọn]
sudo dnf install zsh git -y

Cài đặt OMZ.

sh -c "$(curl -fsSL   Đăng nhập để xem liên kết)"

2.3. ArchLinux

Mã nguồn [Chọn]
sudo pacman -S zsh git --noconfirm
Cài đặt OMZ.

Mã nguồn [Chọn]
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
2.4. macOS

Bạn có thể cài đặt OMZ trên macOS nhưng trước tiên bạn cần cài đặt Homebrew (brew). Brew là trình quản lý gói tương tự như apt, dnf và pacman, cho phép bạn cài đặt các thứ trên Mac giống như bạn cài đặt trên bản phân phối Linux.

Mã nguồn [Chọn]
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Bây giờ bạn có thể cài đặt Zsh và Git.

Mã nguồn [Chọn]
brew install zsh git
Cài đặt OMZ.

Mã nguồn [Chọn]
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Khi cài đặt, OMZ sẽ yêu cầu bạn chuyển shell mặc định sang Zsh (bạn luôn có thể chuyển lại Bash sau) và sau đó tự động khởi động lại dấu nhắc.


3. Tùy chỉnh cơ bản

Tệp cấu hình Zsh mặc định (.zshrc) khá dài nhưng phần lớn là những thứ bạn không bao giờ cần đến và có rất nhiều văn bản được chú thích.


Để đơn giản hóa mọi thứ, hãy bắt đầu lại với một tệp cấu hình mới và một số tùy chọn rất cơ bản. Trước tiên, hãy sao lưu tệp.zshrc hiện tại của bạn.

Mã nguồn [Chọn]
mv ~/.zhsrc ~/.zshrc_backup
Sử dụng trình soạn thảo văn bản bạn thích (chúng tôi sử dụng vim, nhưng bạn có thể sử dụng nano, pico hoặc bất kỳ trình soạn thảo nào bạn thích), tạo tệp.zshrc mới.

Mã nguồn [Chọn]
vim ~/.zshrc
Tiếp theo, nhập hoặc dán nội dung sau:

Mã nguồn [Chọn]
# Path to the Oh My Zsh installation.
export ZSH="$HOME/.oh-my-zsh"

# Set the theme for your prompt.
ZSH_THEME="bira"

# Enable plugins.
plugins=(git)

# Load Oh My Zsh.
source $ZSH/oh-my-zsh.sh

# Set the default editor (optional, sets the default editor to git commit messages, crontab entries, and view man pages).
export EDITOR='vim'

Lưu tệp.zshrc mới của bạn và khởi động lại thiết bị đầu cuối hoặc nhập zsh.


4. Nhiều tùy chỉnh hơn

Tại sao phải dừng lại ở đây? Bạn có thể làm nhiều hơn thế nữa để thực sự cải thiện dấu nhắc lệnh của mình!

4.1. Thêm tùy chọn chủ đề

Như chúng tôi đã chỉ ra, việc gán một chủ đề mới cũng đơn giản như chỉ định chủ đề đó trong.zshrc. Nếu bạn không biết mình muốn sử dụng chủ đề nào hoặc muốn OMZ làm bạn ngạc nhiên, bạn có thể đặt ZSH_THEME="random". Sau đó, mỗi lần bạn mở terminal hoặc nhập zsh, OMZ sẽ tải một chủ đề khác.


Nếu bạn tìm thấy một số chủ đề mình thích và muốn tải chúng ngẫu nhiên, hãy thêm các dòng sau.

Mã nguồn [Chọn]
ZSH-THEME="random"
ZSH_THEME_RANDOM_CANDIDATES=("themes" "you" "like")


Nếu bạn không biết mình muốn chủ đề nào, bạn có thể xem danh sách đầy đủ các chủ đề có trong mọi bản cài đặt Oh My Zsh.

4.2. Cài đặt thêm plugin

Git plugin là plugin cơ bản mà mọi cấu hình OMZ đều phải có, nhưng còn nhiều plugin khác mà bạn có thể thử. Sau đây là bốn plugin khác mà bạn có thể muốn biết.

Zsh-Autosuggestions: Tính năng này gợi ý các lệnh khi bạn nhập, dựa trên lịch sử của bạn và các lệnh bạn sử dụng nhiều nhất. Khi lệnh bạn muốn xuất hiện, bạn có thể nhập mũi tên phải để hoàn tất.

Để cài đặt plugin này, hãy nhập lệnh sau:

Mã nguồn [Chọn]
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

Zsh-Syntax-Highlighting và Zsh-Fast-Syntax-Highlighting: Các plugin này làm nổi bật các lệnh khi bạn nhập, sử dụng màu sắc để chỉ ra cú pháp hợp lệ và lỗi. Để cài đặt các plugin này:

Mã nguồn [Chọn]
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
Mã nguồn [Chọn]
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting
Trong khi các plugin này về cơ bản thực hiện cùng một chức năng, Zsh-Fast-Syntax-Highlighting được thiết kế để nhanh hơn trong các môi trường phức tạp hoặc tùy chỉnh cao. Nếu còn nghi ngờ, hãy chọn Zsh-Syntax-Highlighting thay vì Zsh-Fast-Syntax-Highlighting vì tính ổn định và độ hoàn thiện của nó, cũng như khả năng tương thích rộng hơn với nhiều thiết lập Zsh khác nhau.

Zsh-Autocomplete : Plugin này tăng cường khả năng hoàn thành tab (nhập Tab để hoàn thành lệnh) bằng cách cung cấp danh sách thả xuống các lệnh bao gồm cờ và vị trí thư mục (nếu bạn sử dụng lệnh cd). Để cài đặt plugin này:

Mã nguồn [Chọn]
git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git $ZSH_CUSTOM/plugins/zsh-autocomplete

Cho dù bạn cài đặt một hay tất cả các plugin này, bạn đều cần phải kích hoạt chúng trong.zshrc của mình.

Mã nguồn [Chọn]
plugins=(git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting zsh-autocomplete)
Sau đó lưu tệp, thoát khỏi trình soạn thảo và khởi động lại thiết bị đầu cuối.

5. Các tùy chọn hữu ích khác

Sau đây là một số tùy chọn khác mà bạn có thể cân nhắc khi tạo.zshrc tùy chỉnh của mình.

5.1. Sửa đổi hành vi lịch sử

Bạn có thể cấu hình dấu nhắc lệnh của mình để xử lý và hiển thị lịch sử lệnh theo cách khác. Ví dụ, các tùy chọn sau đây cấu hình lịch sử Zsh bằng cách đặt tệp nhật ký thành ~/.zsh_history, giới hạn kích thước lịch sử ở mức 10.000 lệnh và đảm bảo các lệnh trùng lặp và lệnh bắt đầu bằng dấu cách sẽ bị bỏ qua, với các lệnh mới được thêm vào thay vì ghi đè lên tệp.

Mã nguồn [Chọn]
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt append_history
setopt hist_ignore_dups
setopt hist_ignore_space
setopt hist_expire_dups_first

5.2. Hoàn thành Tab không phân biệt chữ hoa chữ thường

Bạn có thể bật chức năng hoàn thành tab không phân biệt chữ hoa chữ thường để có thể nhập lệnh và hoàn thành lệnh bằng TAB mà không cần lo lắng về chữ hoa chữ thường.

Mã nguồn [Chọn]
setopt nocaseglob

setopt nocasematch

5.3. Tự động sửa lỗi

Một số người không thích tính năng tự động sửa lỗi đánh máy, một số khác thì thích. Nếu bạn thuộc nhóm sau, bạn có thể bật tính năng tự động sửa lỗi.

Mã nguồn [Chọn]
setopt correct
6. Xóa Oh My Zsh

Nếu bạn quyết định OMZ không phù hợp với mình, bạn có thể xóa nó và thậm chí chuyển dấu nhắc shell trở lại bash.

Đầu tiên, hãy khôi phục shell của bạn về bash.

Mã nguồn [Chọn]
chsh -s $(which bash)
Xóa Oh My Zsh và đổi tên tệp.zshrc.

Mã nguồn [Chọn]
rm -rf ~/.oh-my-zsh

mv ~/.zshrc ~/.zshrc_backup

Nếu bạn muốn xóa bỏ hoàn toàn mọi thứ, thì bạn có thể xóa tệp.zshrc.

Mã nguồn [Chọn]
rm ~/.zshrc
Xin chúc mừng vì đã cài đặt và cấu hình Oh My Zsh thành công trên hệ thống của bạn! Đây là một bước tiến lớn hướng đến việc nâng cao trải nghiệm terminal và tăng năng suất của bạn. Oh My Zsh mở khóa nhiều plugin, theme và các tùy chỉnh thông minh khác giúp dòng lệnh của bạn hiệu quả và thú vị hơn. Hy vọng rằng giờ đây bạn cảm thấy tự tin khi khám phá thêm nhiều plugin, tinh chỉnh cấu hình và biến terminal của mình thành của riêng bạn!