Bạn muốn giữ lịch sử lệnh riêng biệt cho từng tab trong trình terminal Tabby khi sử dụng Zsh? Bài viết này sẽ cung cấp hướng dẫn chi tiết từng bước để bạn cấu hình Zsh và Tabby, giúp bạn duy trì lịch sử lệnh riêng cho từng tab, tăng năng suất và quản lý công việc hiệu quả hơn. Tìm hiểu ngay để làm chủ môi trường dòng lệnh của bạn!
Việc chia sẻ lịch sử lệnh giữa các tab có thể gây ra sự nhầm lẫn và khó khăn trong việc tìm kiếm các lệnh đã sử dụng. Khi làm việc trên nhiều dự án hoặc thực hiện các tác vụ khác nhau, việc có lịch sử lệnh riêng biệt cho từng tab sẽ giúp bạn:
Để tách lịch sử lệnh cho từng tab trong Tabby khi sử dụng Zsh, bạn cần thực hiện các bước sau:
Đầu tiên, bạn cần tắt tính năng chia sẻ lịch sử lệnh trong Zsh bằng cách thêm các dòng sau vào file cấu hình .zshrc
. Mở file .zshrc
bằng trình soạn thảo văn bản yêu thích của bạn (ví dụ: nano ~/.zshrc
hoặc vim ~/.zshrc
) và thêm các dòng sau *sau* dòng source $ZSH/oh-my-zsh.sh
:
unsetopt inc_append_history
unsetopt share_history
Giải thích:
unsetopt inc_append_history
: Ngăn Zsh ghi lịch sử lệnh vào file ngay khi lệnh được thực thi.unsetopt share_history
: Ngăn Zsh chia sẻ lịch sử lệnh giữa các phiên terminal.Quan trọng: Hãy chắc chắn rằng bạn thêm các dòng này *sau* dòng source $ZSH/oh-my-zsh.sh
, nếu không các tùy chọn này có thể bị ghi đè bởi cấu hình mặc định của Oh My Zsh.
Để lưu lịch sử lệnh riêng cho từng tab, bạn cần thiết lập biến môi trường HISTFILE
khác nhau cho mỗi tab. Cách đơn giản nhất là sử dụng biến môi trường TERM_SESSION_ID
(nếu Tabby cung cấp) để tạo tên file lịch sử riêng biệt. Thêm đoạn code sau vào *trước* dòng source $ZSH/oh-my-zsh.sh
trong file .zshrc
:
mkdir -m 700 -p ${SHELL_SESSION_DIR:=${ZDOTDIR:-$HOME}/.zsh_sessions}
HISTFILE=${SHELL_SESSION_DIR}/${TERM_SESSION_ID}.history
Giải thích:
mkdir -m 700 -p ${SHELL_SESSION_DIR:=${ZDOTDIR:-$HOME}/.zsh_sessions}
: Tạo một thư mục .zsh_sessions
trong thư mục home của bạn (nếu chưa tồn tại) để lưu trữ các file lịch sử riêng biệt. Quyền 700 đảm bảo chỉ người dùng mới có thể truy cập thư mục này.HISTFILE=${SHELL_SESSION_DIR}/${TERM_SESSION_ID}.history
: Thiết lập biến môi trường HISTFILE
, chỉ định đường dẫn đến file lịch sử riêng cho từng tab. TERM_SESSION_ID
là một ID duy nhất cho mỗi phiên terminal. Nếu Tabby không cung cấp biến này, bạn có thể thử sử dụng một biến môi trường khác hoặc tạo một hàm để tạo ID duy nhất.Lưu ý: Nếu Tabby không cung cấp biến TERM_SESSION_ID
, bạn cần tìm một cách khác để tạo ID duy nhất cho mỗi tab. Bạn có thể tham khảo các giải pháp trên Stack Overflow hoặc các diễn đàn công nghệ để tìm giải pháp phù hợp.
Sau khi thực hiện các thay đổi trên, hãy lưu file .zshrc
và áp dụng các thay đổi bằng cách chạy lệnh:
source ~/.zshrc
Cuối cùng, đóng và khởi động lại Tabby để các thay đổi có hiệu lực. Bây giờ, mỗi tab mới bạn mở sẽ có lịch sử lệnh riêng biệt, được lưu trữ trong một file riêng trong thư mục .zsh_sessions
.
Để kiểm tra xem cấu hình đã hoạt động chính xác hay chưa, hãy thực hiện các bước sau:
ls -l
, pwd
, echo "Hello"
).cd ..
, mkdir test
, rmdir test
).Nếu bạn thấy lịch sử lệnh được tách biệt đúng cách, chúc mừng! Bạn đã cấu hình thành công Zsh và Tabby để duy trì lịch sử lệnh riêng cho từng tab.
Việc tách lịch sử lệnh cho từng tab trong Tabby khi sử dụng Zsh là một cách hiệu quả để tăng năng suất và quản lý công việc tốt hơn. Bằng cách làm theo hướng dẫn trong bài viết này, bạn có thể dễ dàng cấu hình Zsh và Tabby để đáp ứng nhu cầu làm việc của mình. Hãy thử ngay và trải nghiệm sự khác biệt!
Bài viết liên quan