Oh-Meu-Zsh! Um Trabalho de Magia CLI – Tutorial para Ubuntu

>

>

Michiel Mulders>

>

>

>

>

Michiel Mulders

Seguir

>

Ago 29, 2017 – 6 min leia-se

>

>

>

Oh-My-Zsh Agnoster Theme
>

Sou um grande fã da interface de linha de comando… Eu odeio usar o meu mouse de computador! Isto motivou-me a procurar grandes ferramentas para melhorar a minha experiência de utilizador no CLI. Eu me deparei com o Oh-My-Zsh durante o meu estágio. Alguns amigos me convenceram a usar esta concha por causa de sua simplicidade e adaptabilidade. Como bônus, o CLI é extensível com muitos plugins.

Esta é uma lista das suas capacidades:

  • Validação de comandos
  • Correcção de comandos
  • Partilha do histórico de comandos entre todas as shells em execução
  • Pontos temíveis (Agnoster, RobbyRussell, …)
  • Histórico do directório
  • Criptografias de arranque/desligamento via zshenv, zprofile, zshrc, zlogin, e zlogout
  • Fortíssimas capacidades de auto-completar. Você pode usar a tecla TAB para navegar através das diferentes opções e usar enter para selecionar a pasta certa. Bash, por exemplo, imprimiria todas as opções. Isto é bastante spammy e polui seu scrollback.
>

>

  • Adicionar plugins: ex. plugin Git com uma enorme lista de apelidos úteis de Git.
    Este plugin mostra o ramo ativo e dá feedback visual sobre seu status de Git:
    – Verde: ramo se não ocorreram alterações
    – Amarelo com um ícone de círculo: arquivos não rastreados
    – Amarelo com um ícone de mais: arquivos prontos para serem comprometidos
>

>

>

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

  1. Instalar pacotes pré-requisitos
    $ sudo apt install git-core zsh
  2. Instalar Oh-My-Zsh do repositório do Robby Russell
    $ sh -c “$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)”.
  3. Instale a fonte Powerline para apimentar o seu CLI com ícones
    $ sudo apt install fonts-powerline
  4. Mude o tema de ‘robbyrussell’ para ‘agnoster’ para o lendário tema Oh-My-Zsh
    $ nano ~/.zshrc
  5. Localize a variável ZSH_THEME e mude-a:ZSH_THEME="agnoster"
  6. Não gosto que o tema mostre o meu nome de utilizador e anfitrião. Para nos livrarmos disto, mudamos o directório para
    $ cd ~/.oh-my-zsh/temas
  7. A seguir abrimos o ficheiro de tema para ‘agnoster’ no editor
    $ nano agnoster.zsh-theme
  8. Agora podemos mudar o ‘prompt principal’. Não precisamos de prompt_context na função build_prompt(). Basta comentar esta linha ou removê-la. Finalmente, altere a variável PROMPT para $(build_prompt).
>

>

Configuração do tema do agnostro

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

Extra: Defina zsh como a nossa shell padrão. Execute isto na sua shell padrão, na maioria dos casos isto será bash. Se você executar este comando em zsh, ele não irá alterar nada:
$ chsh -s $(which zsh)

Note: Se você usar sudo ele irá alterar a shell para root, mas não para o seu usuário de trabalho. Além disso, certifique-se de fazer logout e login novamente para ver as alterações.

Install Plugins

Todos os plugins listados na página de plugins Github são pré-instalados com Oh-My-Zsh em ~/.oh-my-zsh/plugins. Os plugins personalizados podem ser instalados em ~/.oh-my-zsh/custom/plugins. Para usar um plugin, você pode simplesmente adicioná-lo à lista de plugins no seu arquivo ~/.zshrc. Adicione sabiamente, pois demasiados plugins tornam o arranque da shell mais lento. Deixe em branco entre cada plugin.

>

Páginas de cor

Neste exemplo, eu instalei um plugin útil para dar destaque de cor ao seu man pages . Para poder usar o plugin, fonte seu arquivo .zshrc:
$ fonte ~/.zshrc

Página do Homem Colorido do comando ls

Zsh-syntax-highlighting

Outro grande plugin é o realce de sintaxe para o seu shell. Além disso, este plugin tem a capacidade de verificar a correção do seu comando.

>

>

>

>

Este plugin não é instalado com o Oh-My-Zsh. Navegue até ~/.oh-my-zsh/custom/plugins e clone o código do Github para esta pasta:
$ clone de git 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.

Zsh-autosuggestions

Você também pode usar zsh-autosuggestions para completar o comando. Ele sugere comandos baseados em seu histórico de comandos. Muito útil! Para selecionar o comando proposto, pressione a seta para a direita.

>

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

Toma conta do Alias Enthusiast

Oh-My-Zsh lembra-se automaticamente dos 20 últimos directórios que visitou. Você pode listar o histórico 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-Meu-Zsh tornou isto ainda mais simples, agora você pode usar apenas o número da entrada na história do diretório que você quer visitar… 1.

Outros pseudônimos interessantes

  • alias : Liste todos os pseudônimos. Você pode canalizar a saída para grep para procurar por um determinado alias.
  • / : cd /
  • ~ : cd ~
  • ... : cd ../..
  • .... : cd ../../..
  • ..... : cd ../../../.. Acho que você entendeu, certo?
  • take test_folder : Cria uma pasta com o nome de test_folder e altera-o
  • x : Extrair arquivo de tipos tar, bz2, rar, gz, tbz2, tgz, zip, Z, 7z
  • upgrade_oh_my_zsh : Comando fácil para actualizar a sua instalação

Bem conhecido Problemas & Soluções

Pode acontecer que o ficheiro de histórico fique corrompido. Não me pergunte os detalhes específicos. Cada vez que você lança um novo terminal, você recebe esta mensagem:

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

Vamos corrigi-lo com os seguintes comandos. Certifique-se de que você está na raiz do homefolder. O comando fc lista, edita, ou reexecuta comandos previamente inseridos em uma shell. O comando history permite que você use 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

Conclusion

Oh-My-Zsh é simplesmente fantástico!

Useful Links and Sources

Este artigo foi feito com a ajuda do TheLedger.

  • Oh-My-Zsh: http://ohmyz.sh/
  • Plugins: https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins
  • Temas: https://github.com/robbyrussell/oh-my-zsh/tree/master/themes/
  • Plugin de Git com todos os pseudónimos: https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git
  • Personalizando o seu prompt de shell: http://www.nparikh.org/unix/prompt.php#zsh
  • ArchWiki sobre Zsh: https://wiki.archlinux.org/index.php/zsh#Autostart_X_at_login
  • Plugin de realce de sintaxe Zsh: https://github.com/zsh-users/zsh-syntax-highlighting
  • Plugin de auto-sugestão de Zsh: https://github.com/zsh-users/zsh-autosuggestions
  • RobbyRussell Wiki sobre a personalização do Zsh: https://github.com/robbyrussell/oh-my-zsh/wiki/Customization

Deixe uma resposta

O seu endereço de email não será publicado.