Wie erstelle ich einen dauerhaften Alias ​​in oh-my-zsh?


43

In meinem .zshrc habe ich versucht, ein paar Aliase zu machen. Ich habe viele Orte untersucht, aber ich konnte keinen Weg finden, der funktionierte. Ich habe diesen Code unten verwendet:

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

Dann habe ich einen Befehl geschrieben source ~/.zshrc. Trotzdem konnte das Problem nicht behoben werden. Ich bekomme Fehlermeldungen wiezsh: command not found: j

Könnte mir jemand mit irgendwelchen Vorschlägen helfen und mich wissen lassen, was ich falsch mache?


3
Nach den (mehrfachen) Kommentaren und dem Fehler zu urteilen, nehme ich an, dass jeder Alias ​​tatsächlich in einer einzelnen Zeile steht, richtig?
Kos

Antworten:


67

Zwischen =und dem Aliasnamen oder der Aliasdefinition dürfen keine Leerzeichen stehen :

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"

Übrigens: Wenn Sie nach einer Möglichkeit suchen, Verzeichnisnamen zu verkürzen, empfehle ich Ihnen, sich mit Named Directories und der AUTO_CDOption anstelle von Aliasnamen zu befassen:

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

Auf diese Weise können Sie ~wanstelle von ~/Documents/UoMWorkspace/Semester2und ~janstelle von ~/Documents/UoMWorkspace/Semester2/COMP17412(oder ~w/COMP17412) verwenden. Ist cd ~jalso identisch mit cd ~/Documents/UoMWorkspace/Semester2. Es funktioniert auch als Teil eines Pfades, z cat ~j/somedir/somefile.

Mit

setopt AUTO_CD

zshwird automatisch cdzu einem Verzeichnis, wenn es als Befehl in der Befehlszeile angegeben wird und es nicht der Name eines tatsächlichen Befehls ist. z.B

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

Als weitere Erklärung , warum keine Leerzeichen verwenden vor und nach der Gleichung Zeichen: zB a = b: Dies wird als Befehl betrachtet wird amit zwei Parametern ( bund =) und wird einen Fehler werfen: zsh: command not found: a. Wenn Sie aliasdavor setzen ( alias a = b), wird es irgendwie ähnlich sein.
Timo

Früher habe ich nur „vi ~ / .zshrc“ und die Datei mit bearbeitet , export PATH=/Users/andres/flutter/bin:$PATHweil ich Gebrauch flattern
Andres Paladines
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.