Configurando Aliases no zsh

75

Eu sei que no bash você pode configurar aliases em um arquivo .bash_aliases para que o comando digitado não precise ser um comando armazenado nos binários do sistema. Existe alguma maneira de obter aliases no zsh?

Thomas Ward
fonte

Respostas:

43

você pode fazer isso pelo comando "alias" com esta sintaxe:

alias [ -gmrL ] [ name[=value] ... ]

para comutadores "gmrL", consulte este guia, que é minha referência. Para cada nome sem valor, o zsh imprimirá o nome e o que está aliasado anteriormente. Sem argumentos, o alias imprime os valores de TODOS os alias definidos.

Para definir um ou mais aliases, basta digitar

alias name1=value1 name2=value2 ... nameX=valueX

Para cada nome com um valor correspondente, zsh define um alias com esse valor. para mais informações, confira o link ;-)

Atualização: atualizou o link morto.

sazonal
fonte
Esse documento respondeu exatamente à minha pergunta. Muito obrigado.
Thomas Ward
Esse link está inoperante.
Soham Chowdhury
atualizou o link.
sazonal
8
Se esta resposta faltar à parte sobre onde persistir os aliases, a resposta de Kurtosis inclui (.zshrc).
Felix
11
Eu uso ~/.profilepara armazenar todos os aliases que me interessa e fonte ~/.profile-lo a partir ~/.zshrc.
danba 12/11
140

Vou entre o bash e o zsh e uso o mesmo arquivo .aliases para ambos. Eles compartilham a mesma sintaxe básica de alias, para que você possa criar um arquivo .aliases e vinculá-lo a .bashrc e .zshrc:

.bashrc:

if [ -f ~/.aliases ]; then
    . ~/.aliases
fi

.zshrc:

source $HOME/.aliases

Além disso, isso também pode ser feito com declarações de variáveis ​​de ambiente, em um arquivo .env separado .

Kurtosis
fonte
Acabei de adicionar source ~ / .bash_aliases para o final do .zshrc, para que todos os aliases estão trabalhando tanto no bash e zsh
talsibony
@talsibony assim: ~/ .bash_aliaseseu preciso pouca ajuda por favor, se você está lá, responder
lewis4u
@ lewis4u Não deve haver espaço entre ~ / e .bash_aliases. Deve ser exatamente ~ / .bash_aliases.
Kurtosis
Seus links estão quebrados ..
Ilan.b
10

Você geralmente os coloca ~/.zshenv. Mas muitos programas usam /bin/sh(geralmente bash) em vez de $SHELLexecutar comandos do shell; portanto, para que funcione em qualquer lugar, você provavelmente precisará colocar o bashequivalente do alias de ~/.bash_aliasesqualquer maneira.

geekosaur
fonte
Isso é apenas para minha conta de usuário, portanto não precisa ser copiado para o arquivo ~ / .bash_aliases.
Thomas Ward