Como criar um alias permanente no oh-my-zsh?

44

No meu .zshrc, tentei criar alguns pseudônimos. Procurei em muitos lugares, mas não consegui descobrir uma maneira que funcionasse. Eu usei este código abaixo:

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

Então eu escrevi um comando source ~/.zshrc. Ainda assim, não resolveu o problema. Recebo mensagens de erro comozsh: command not found: j

Alguém poderia me ajudar com alguma sugestão e me informar o que estou fazendo de errado?

Shamveel Ahammed
fonte
3
A julgar pelos comentários (múltiplos) e pelo erro, suponho que cada apelido esteja realmente definido em uma única linha, correto?
kos

Respostas:

68

Não deve haver espaços em branco entre =o nome do alias ou a definição do 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"

BTW: Se você estiver procurando uma maneira de reduzir os nomes de diretório, sugiro procurar em Diretórios Nomeados e a AUTO_CDopção em vez de aliases:

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

Isso permite que você use em ~wvez de ~/Documents/UoMWorkspace/Semester2e em ~jvez de ~/Documents/UoMWorkspace/Semester2/COMP17412(ou ~w/COMP17412). Então cd ~jé idêntico a cd ~/Documents/UoMWorkspace/Semester2. Também funciona como parte de um caminho, por exemplo cat ~j/somedir/somefile.

Com

setopt AUTO_CD

zshirá automaticamente cdpara um diretório se for dado como comando na linha de comando e não for o nome de um comando real. por exemplo

% /usr
% pwd
/usr
% ~w
/home/YOURUSERNAME/Documents/UoMWorkspace/Semester2
Adaephon
fonte
Como mais uma explicação por que não usar espaços antes e depois do sinal de equação: por exemplo a = b: Isso será considerado como um comando acom dois parâmetros ( be =) e irá lançar um erro: zsh: command not found: a. Se você colocar aliasantes disso ( alias a = b), será de alguma forma semelhante.
Timo
Eu apenas usei "vi ~ / .zshrc" e editei o arquivo com a export PATH=/Users/andres/flutter/bin:$PATHcausa que eu uso flutter
Andres Paladines