Vale a pena mudar para zsh para uso casual?[fechado]
Pergunta
O shell padrão no Mac OS X é bash
, o que eu geralmente estou feliz de estar usando.Eu só levá-lo para concedido.Seria muito bom se auto-concluído mais coisas, porém , eu tenho ouvido coisas boas sobre zsh
em relação a isso.Mas eu realmente não tenho a intenção de passar horas a mexer com as configurações para melhorar a minha linha de comandos o uso de uma pequena quantidade, já que minha vida na linha de comando não é tão ruim.
(Como eu entendo, bash
também pode ser configurado para auto-completar mais inteligente.É a configuração que eu não sou tudo o que ambiciona.)
Vai mudar para zsh
, mesmo que em pequeno número de casos, fazer a minha vida mais fácil?Ou é somente um shell de melhor se você colocar o tempo para aprender por é melhor?(Exemplos seria bom, muito :)
)
@Rodney Amato
&
@Vulcan Ansioso
dar dois bons motivos para, respectivamente, vara a bash
e mude para zsh
.Parece que eu vou ter que investigar tanto!Oh, bem :)
Há alguém com uma opinião de ambos os lados do argumento?
Solução
Para uso casual, você provavelmente é melhor ficar com o bash e apenas instalar o bash conclusão.
A instalação é bem fácil, pegue a bash-completion-20060301.tar.gz a partir de http://www.caliban.org/bash/index.shtml#completion e extraia-o com
tar -xzvf bash-completion-20060301.tar.gz
em seguida, copie o bash_completion/bash_completion arquivo para /etc com
sudo cp bash_completion/bash_completion /etc
que irá pedir a você pela sua senha.Você provavelmente vai querer fazer um /etc/bash_completion.d diretório para qualquer adicional de conclusão de scripts (por exemplo, eu tenho o git conclusão script de lá).
Uma vez que isso é feito, o último passo é certificar-se .bash_profile arquivo em seu diretório home tem
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
para carregar a conclusão de arquivo quando você entrar.
Para testá-lo basta abrir um terminal novo, e tente completar em cvs e deve mostrar-lhe o cvs opções na lista de conclusões.
Outras dicas
Pessoalmente, eu adoro zsh.
Geralmente, você provavelmente não vai notar a diferença entre ele e o bash, até que você quiser fazer as coisas como recursiva globbing:
**/*.c
por exemplo.
Ou uso do sufixo aliases para associar específicos progs com diferentes sufixos, de modo que você pode "executar" - los diretamente.Abaixo alias permite que você "executar" um arquivo de origem C no prompt, basta digitar ./my_program.c
– o que vai funcionar exatamente como se você digitou vim ./my_program.c
.(O equivalente a duas vezes sobre o ícone de um arquivo.)
alias -s c=vim
Ou imprimir os nomes dos arquivos modificados de hoje:
print *(e:age today now:)
Provavelmente, você pode fazer todas essas coisas em bash, mas a minha experiência com o zsh é que, se há algo que eu quero fazer, eu provavelmente pode encontrá-lo em zsh-amantes.Eu também acho o livro 'A partir do Bash para Z-Shell"realmente útil.
Jogar com a mente bogglingly grande número de opções é bem divertido também!
Alterne para o zsh.Você terá acesso a:
zmv
:Você pode fazer:zmv '(*).mp3' '$1.wma'
para milhares de arquivos.zcalc
:Extremamente confortável, calculadora, melhor do quebc
.zparseopts
:One-liner para análise arbitrário complexas opções para o seu script.autopushd
:Você sempre pode fazerpopd
depois decd
para mudar de volta para o diretório anterior.- Suporte a ponto flutuante.É necessário de tempo em tempo.
- Hashes de suporte.Às vezes, eles são apenas um recurso-chave.
Se tudo que você deseja usar ZSH é melhor conclusão, a configuração é muito fácil.Coloque isto no seu ~/.zshrc:
autoload -U zutil # [1]
autoload -U compinit # [2]
autoload -U complist # [3]
compinit
No entanto, vale a pena conferir todas as outras grandes características do ZSH.O exemplo acima irá dar-lhe um muito simples de comandos com boa conclusão.Se você não quer mexer com as configurações, mas quero ver o que ZSH pode fazer por você, no Google por "zshrc" e você vai obter algumas pronto para usar configurações para começar.
zsh tem um console de configuração gui coisa.Você pode configurá-lo de forma muito rápida e fácil, sem ter que mexer com arquivos de configuração.Eu não acho que você vai precisar de muito tempo para configurá-lo, provavelmente por 10 segundos, com apenas usando padrões, então vá em frente e experimentá-lo.
Staale está falando de um assistente como o programa (CUI), que o autoruns a primeira vez que você executar o zsh.Basta responder a algumas perguntas, visualizar/alterar os padrões e configurado para você.
IBM developerWorks tem grandes recursos no zsh.
Eu não tenho usado muito funcionalidades avançadas e até agora eu não encontrei grandes diferenças que deve prejudicar alguém vindo do bash.
Alguns exemplos:
!?padrão<Tab> vai preenchimento automático para o último comando no histórico de correspondência o padrão.Muito útil.
Você pode configurar o prompt na RHS.Um uso é manter um fixo largura de linha de comandos do lado esquerdo assim, todos os comandos de linha até bem enquanto exibindo pwd (ou em qualquer coisa de largura variável) como a mão direita do lado de comandos.
Você pode redirecionar a entrada de vários arquivos (que ainda tente isto):gato < arquivo1 < arquivo2 < arquivo3