วิธีสร้างนามแฝงถาวรใน oh-my-zsh ได้อย่างไร


43

ใน. zshrc ของฉันฉันพยายามสร้างนามแฝงไม่กี่ตัวฉันค้นหาสถานที่มากมาย แต่ฉันไม่สามารถหาวิธีที่ใช้งานได้ ฉันใช้รหัสนี้ด้านล่าง:

# 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"

source ~/.zshrcแล้วฉันจะเขียนคำสั่ง ถึงกระนั้นมันก็ไม่ได้แก้ปัญหา ฉันได้รับข้อความแสดงข้อผิดพลาดเช่นzsh: command not found: j

ใครสามารถช่วยฉันด้วยคำแนะนำและแจ้งให้ฉันทราบว่าฉันทำอะไรผิด


3
ตัดสินจากความคิดเห็น (mutliple) และจากข้อผิดพลาดฉันสมมติว่าแต่ละนามแฝงถูกตั้งค่าในบรรทัดเดียวถูกต้องหรือไม่
kos

คำตอบ:


67

จะต้องไม่มีการเว้นวรรคใด ๆ ระหว่าง=และชื่อนามแฝงหรือคำจำกัดความนามแฝง:

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: หากคุณกำลังมองหาวิธีที่จะทำให้ชื่อไดเรกทอรีสั้นลงฉันขอแนะนำให้ดูในนามของเนมและAUTO_CDตัวเลือกแทนชื่อแทน:

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

สิ่งนี้อนุญาตให้คุณใช้~wแทน~/Documents/UoMWorkspace/Semester2และ~jแทนที่จะเป็น~/Documents/UoMWorkspace/Semester2/COMP17412(หรือ~w/COMP17412) ดังนั้นเป็นเหมือนcd ~j นอกจากนี้ยังทำงานเป็นส่วนหนึ่งของเส้นทางเช่นcd ~/Documents/UoMWorkspace/Semester2cat ~j/somedir/somefile

กับ

setopt AUTO_CD

zshจะcdไปยังไดเรกทอรีโดยอัตโนมัติหากมีการกำหนดให้เป็นคำสั่งในบรรทัดคำสั่งและไม่ใช่ชื่อของคำสั่งจริง เช่น

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

ในฐานะที่เป็นคำอธิบายเพิ่มเติมทำไมไม่ใช้ช่องว่างก่อนและหลังการเข้าสู่ระบบสมการเช่นa = bนี้จะถือว่าเป็นคำสั่งaที่มีสองพารามิเตอร์ ( bและ=) zsh: command not found: aและจะโยนความผิดพลาด: ถ้าคุณใส่aliasก่อนหน้านั้น ( alias a = b) มันจะคล้ายกัน
Timo

ฉันเพิ่งใช้ "vi ~ / .zshrc" และแก้ไขไฟล์ด้วยexport PATH=/Users/andres/flutter/bin:$PATHสาเหตุที่ใช้ flutter
Andres Paladines
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.