Làm thế nào để tạo một bí danh vĩnh viễn trong oh-my-zsh?


43

Trong .zshrc của tôi, tôi đã cố gắng tạo ra một vài bí danh. Tôi đã tìm kiếm rất nhiều nơi, nhưng tôi không thể tìm ra cách nào hiệu quả. Tôi đã sử dụng mã này dưới đây:

# Set personal aliases, overriding those provided by oh-my-zsh libs, 
# plugins, and themes. Aliases can be placed here, though oh-my-zsh 
# users are encouraged to define aliases within the ZSH_CUSTOM folder. 
# For a full list of active aliases, run alias. # # Example aliases
alias zshconfig="mate ~/.zshrc"
alias ohmyzsh="mate ~/.oh-my-zsh"
alias n= "nano"  
alias m= "mkdir"
alias w= "cd ~/Documents/UoMWorkspace/Semester2"  
alias j= "cd ~/Documents/UoMWorkspace/Semester2/COMP17412"

Sau đó, tôi đã viết một lệnh source ~/.zshrc. Tuy nhiên, nó đã không giải quyết vấn đề. Tôi nhận được thông báo lỗi nhưzsh: command not found: j

Bất cứ ai có thể giúp tôi với bất kỳ đề nghị và cho tôi biết những gì tôi đang làm sai?


3
Đánh giá từ các bình luận (mutlipl) và từ lỗi tôi cho rằng mỗi bí danh thực sự được đặt trên một dòng duy nhất, đúng không?
kos

Câu trả lời:


67

Không được có bất kỳ khoảng trắng nào giữa =và tên bí danh hoặc định nghĩa bí danh:

alias zshconfig="mate ~/.zshrc"
alias ohmyzsh="mate ~/.oh-my-zsh"
alias n="nano"
alias m="mkdir"
alias w="cd ~/Documents/UoMWorkspace/Semester2"
alias j="cd ~/Documents/UoMWorkspace/Semester2/COMP17412"

BTW: Nếu bạn đang tìm cách rút ngắn tên thư mục, tôi khuyên bạn nên tìm hiểu các Thư mục được đặt tênAUTO_CDtùy chọn thay vì bí danh:

hash -d w=~/Documents/UoMWorkspace/Semester2
hash -d j=~/Documents/UoMWorkspace/Semester2/COMP17412

Điều này cho phép bạn sử dụng ~wthay vì ~/Documents/UoMWorkspace/Semester2~jthay vì ~/Documents/UoMWorkspace/Semester2/COMP17412(hoặc ~w/COMP17412). Như vậy cd ~jlà giống hệt cd ~/Documents/UoMWorkspace/Semester2. Nó cũng hoạt động như một phần của một con đường, ví dụ cat ~j/somedir/somefile.

Với

setopt AUTO_CD

zshsẽ tự động cdđến một thư mục nếu nó được đưa ra dưới dạng lệnh trên dòng lệnh và nó không phải là tên của một lệnh thực tế. ví dụ

% /usr
% pwd
/usr
% ~w
/home/YOURUSERNAME/Documents/UoMWorkspace/Semester2

Như một lời giải thích thêm tại sao không sử dụng khoảng trắng trước và sau dấu phương trình: vd a = b: Đây sẽ được coi là một lệnh acó hai tham số ( b=) và sẽ đưa ra lỗi : zsh: command not found: a. Nếu bạn đặt aliastrước đó ( alias a = b), nó sẽ tương tự như vậy.
Timo

Tôi chỉ sử dụng "vi ~ / .zshrc" và chỉnh sửa tệp với export PATH=/Users/andres/flutter/bin:$PATHlý do tôi sử dụng rung
Andres Paladines
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.