¿Cómo hacer un alias permanente en oh-my-zsh?

45

En mi .zshrc intenté hacer algunos alias. Miré en muchos lugares, pero no pude encontrar una manera que funcionara. Usé este código a continuación:

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

Entonces escribí un comando source ~/.zshrc. Aún así no resolvió el problema. Recibo mensajes de error comozsh: command not found: j

¿Alguien podría ayudarme con alguna sugerencia y decirme qué estoy haciendo mal?

Shamveel Ahammed
fuente
3
A juzgar por los comentarios (múltiples) y por el error, supongo que cada alias se establece realmente en una sola línea, ¿correcto?
kos

Respuestas:

69

No debe haber espacios en blanco entre el =nombre del alias o la definición del alias:

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"

Por cierto: si está buscando una forma de acortar los nombres de directorio, sugiero que busque en Directorios con nombre y la AUTO_CDopción en lugar de alias:

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

Esto le permite usar en ~wlugar de ~/Documents/UoMWorkspace/Semester2y en ~jlugar de ~/Documents/UoMWorkspace/Semester2/COMP17412(o ~w/COMP17412). Entonces cd ~jes idéntico a cd ~/Documents/UoMWorkspace/Semester2. También funciona como parte de una ruta, por ejemplo cat ~j/somedir/somefile.

Con

setopt AUTO_CD

zshautomáticamente cda un directorio si se da como comando en la línea de comando y no es el nombre de un comando real. p.ej

% /usr
% pwd
/usr
% ~w
/home/YOURUSERNAME/Documents/UoMWorkspace/Semester2
Adaephon
fuente
Como explicación adicional por qué no usar espacios antes y después de la señal ecuación: por ejemplo a = b: Esto será considerado como un comando acon dos parámetros ( by =) y generará un error: zsh: command not found: a. Si pones aliasantes de eso ( alias a = b), será de alguna manera similar.
Timo
Acabo de usar "vi ~ / .zshrc" y edité el archivo export PATH=/Users/andres/flutter/bin:$PATHporque uso flutter
Andres Paladines