Oh-meu-Zsh! Feito para amantes de CLI

Michiel Mulders 20 de outubro de 2017 Tema Oh-My-Zsh Agnoster

Eu sou um grande fã da interface de linha de comando na minha máquina Ubuntu… Eu odeio usar o mouse do meu computador! Isso me motivou a procurar ótimas ferramentas para melhorar minha experiência de usuário no CLI. Eu me deparei com Oh-My-Zsh durante meu estágio. Alguns amigos me convenceram a usar o Zshell por causa de sua simplicidade e ajustabilidade. Como bônus, o CLI é extensível com muitos plugins.

Esta é uma lista de seus recursos :

  • Validação de Comando
  • Correção ortográfica
  • Compartilhamento do histórico de comandos entre todos os shells em execução
  • Promessas teíveis (Agnoster, RobbyRussell,…)
  • Histórico do diretório
  • Scripts de inicialização / desligamento via zshenv , zprofile , zshrc , zlogin e zlogout
  • Capacidades fortes de preenchimento automático. Você pode usar a tecla TAB para navegar pelas diferentes opções e usar enter para selecionar a pasta correta. Bash, por exemplo, imprimia todas as opções. Isso é bastante spam e polui sua rolagem.
  • Adicione plugins : por exemplo, o plugin Git com uma lista enorme de aliases úteis do Git.
    Este plugin mostra o ramo ativo e dá um feedback visual sobre o seu status Git:
    – Verde: ramo se não houver alterações
    – Amarelo com um ícone de círculo: arquivos não rastreados
    – Amarelo com um ícone de mais: arquivos prontos para serem confirmados

Guia de instalação

Estou executando este guia de instalação na minha máquina virtual Ubuntu 16.04. Para mostrar o poder subjacente do Oh-My-Zsh, instalarei o plugin Git (Git-core). Este plugin dá feedback visual sobre o status do Git de um projeto.

  1. Instalar pacotes de pré-requisitos
    $ sudo apt instalar git-core zsh
  2. Instale Oh-My-Zsh do repositório de Robby Russell
    $ sh -c “$ (curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh )”
  3. Instale a fonte Powerline para incrementar sua CLI com ícones
    $ sudo apt instalar fontes-powerline
  4. Mude o tema de 'robbyrussell' para 'agnoster' para o lendário tema Oh-My-Zsh
    $ nano ~ / .zshrc
  5. Encontre a variável ZSH_THEME e altere-a: ZSH_THEME="agnoster"
  6. Eu não gosto que o tema mostre meu nome de usuário e host. Para se livrar disso, nós mudamos o diretório para
    $ cd ~ / .oh-my-zsh / themes
  7. Em seguida, abrimos o arquivo de tema para 'agnoster' no editor
    $ nano agnoster.zsh-theme
  8. Agora podemos mudar o 'prompt principal'. Nós não precisamos de prompt_context na função build_prompt() . Apenas comente esta linha ou remova-a. Por fim, altere a variável PROMPT para $(build_prompt) .

Configuração do tema Agnoster

Para realmente ver o tema, você tem que criar seu arquivo .zshrc assim: source ~/.zshrc . Se tudo correu bem, você deve ver algo como a imagem da capa!

Extra : defina zsh como nosso shell padrão. Execute isso no seu shell padrão, na maioria dos casos isso será bash. Se você executar este comando em zsh, isso não mudará nada:
$ chsh -s $ (que zsh)

Nota : Se você usar o sudo ele mudará o shell para o root, mas não para o usuário que está trabalhando.

Instalar plugins

Todos os plug-ins listados na página do plug-in do Github são pré-instalados com o Oh-My-Zsh em ~/.oh-my-zsh/plugins . Plugins personalizados podem ser instalados em ~/.oh-my-zsh/custom/plugins . Para usar um plugin, você pode simplesmente adicioná-lo à lista de plugins em seu arquivo ~/.zshrc . Adicione sabiamente, pois muitos plugins retardam a inicialização do shell. Deixe um espaço em branco entre cada plugin.

Páginas de homem-colorido

Neste exemplo, instalei um plug-in útil para dar destaque às suas man pages . Para poder usar o plugin, .zshrc seu arquivo .zshrc :
$ source ~ / .zshrc

Página de homem colorido do comando ls

Zsh-syntax-highlighting

Outro ótimo plugin é o destaque de sintaxe para o seu shell. Além disso, este plugin tem a capacidade de verificar a exatidão do seu comando.

Este plugin não está instalado com o Oh-My-Zsh. Navegue até ~/.oh-my-zsh/custom/plugins e clone o código do Github nesta pasta:
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting

Você verá uma pasta chamada zsh-syntax-highlighting . Este é o nome que precisa ser adicionado à lista de plugins.

Sugestões auto-adesivas

Você também pode usar o comando zsh-autosuggestions para a conclusão do comando. Sugere comandos baseados no seu histórico de comandos. Muito útil! Para selecionar o comando proposto, pressione a tecla de seta para a direita.

A instalação é a mesma que com o zsh-syntax-highlighting :
$ git clone https://github.com/zsh-users/zsh-autosuggestions
E adicione " zsh-autosuggestions à lista de plugins.

Cuida do Entusiasta Alias

Histórico do Diretório

O Oh-My-Zsh automaticamente lembra os 20 últimos diretórios que você visitou. Você pode listar a história cronologicamente com dirs -v ou apenas d .

Normalmente, você pode usar cd +1 para ir para o diretório anterior e assim por diante. Oh-My-Zsh tornou isso ainda mais simples, agora você pode usar o número da entrada no histórico do diretório que deseja visitar… 1 .

Outros aliases interessantes

  • alias : lista todos os aliases. Você pode canalizar a saída para o grep para procurar um alias específico.
  • / : cd /
  • ~ : cd ~
  • ... : cd ../..
  • .... : cd ../../..
  • ..... : cd ../../../.. Eu acho que você entendeu, certo?
  • take test_folder : cria uma pasta chamada test_folder e altera para ela
  • x : Extrai o arquivo dos tipos tar, bz2, rar, gz, tbz2, tgz, zip, Z, 7z
  • upgrade_oh_my_zsh : Comando fácil para atualizar sua instalação

Problemas e Soluções Conhecidos

Arquivo de histórico corrompido

Pode acontecer que o arquivo de histórico seja corrompido. Não me pergunte os detalhes específicos. Cada vez que você inicia um novo terminal, você recebe esta mensagem:

 zsh: corrupt history file /home/myusername/.zsh_history 

Vamos consertar isso com os seguintes comandos. Certifique-se de estar na raiz da homefolder. O comando fc lista, edita ou re-executa comandos previamente inseridos em um shell. O comando history permite usar palavras de linhas de comando anteriores na linha de comando que você está digitando.

 mv .zsh_history .zsh_history_bad 
strings .zsh_history_bad > .zsh_history
fc -R .zsh_history

Conclusão

Oh-My-Zsh é simplesmente incrível!

Links úteis e fontes

Este artigo foi feito com a ajuda de TheLedger .

Texto original en inglés.