Posted on: August 11, 2023 03:59 PM
Posted by: Renato
Views: 663
Instalando e Configurando o ZSH no Ubuntu
Mas o que é ZSH?
O Z Shell ou simplesmente o ZSH, é um shell assim como o Bash e SH. Um shell no mundo GNU/Linux é a interface entre o usuário e o sistema operacional através da qual o usuário interage em linha de comando.
Existem vários shell’s, o shell padrão em um terminal no Ubuntu é o bash. Como saber qual o shell está sendo utilizado por seu usuário?
Em um terminal digite:
echo $SHELL
Como saída do comando, foi exibido /bin/bash, ou seja, o usuário está usando o bash como shell padrão.
Com o ZSH é possível usufruir de alguns recursos avançados de usabilidade quando comparado ao bash. Para quem utiliza o git como sistema de controle de versão, por exemplo, o ZSH possibilita integração, exibindo no terminal a branch atual, dentre outros recursos.
O ZSH é muito mais personalizável e possui uma série de plugins que permitem estender suas funcionalidades.
Instalando o Z Shell (ZSH) no Ubuntu 20.04
Como o ZSH já está disponível no repositório oficial do Ubuntu 20.04, a sua instalação fica facilitada, pois basta utilizar o apt (gerenciador de pacotes do Ubuntu) para instalá-lo.
1º) Atualize o cache do apt com o comando:
sudo apt update
2º) Instale o ZSH com o comando:
sudo apt install zsh -y
Observação: o “-y” no final do comando é para não ter confirmação antes da instalação.
3º) Verifique se o ZSH está realmente instalado com o comando:
zsh --version
A saída do comando será:
zsh 5.8 (x86_64-ubuntu-linux-gnu
Definindo o ZSH como o shell padrão do usuário
1º) Precisamos saber onde está o binário do ZSH com o comando:
whereis zsh
Observe na saída do comando o trecho em negrito, ele indica o path (caminho) do binário do zsh:
zsh: /usr/bin/zsh /usr/lib/x86_64-linux-gnu/zsh /etc/zsh /usr/share/zsh /usr/share/man/man1/zsh.1.gz
2º) Agora pode-se definir queo ZSH será o shell padrão para o usuário com o comando:
sudo usermod -s /usr/bin/zsh $(whoami)
O comando define que o shell padrão do usuário, que é retornado pela execução do whoami entre os parenteses em uma variável, será o indicado no path da opção -s, ou seja, o zsh.
3º) Feche o terminal e abra novamente e observe a mensagem que surge:
Tecle 2 para que o ZSH crie o arquivo .zshrc dentro do diretório home do usuário. É nesse arquivo que ficam as configurações do ZSH.
Estilizando o ZSH com o tema Powerlevel9k
O Powerlevel9k é um tema bem bonito para linha de comando do ZSH. Para nossa sorte, ele também está disponível no repositório oficial do Ubuntu 20.04.
Instalando o Powerlevel9k
1º) Instale o tema powerlevel9k com o seguinte comando:
sudo apt install zsh-theme-powerlevel9k
2º) Após a instalação do tema, precisamos adicionar a configuração no arquivo .zshrc definindo que ele será o tema utilizado pelo ZSH. Uma das formas de se fazer isso é com o comando abaixo:
echo "source /usr/share/powerlevel9k/powerlevel9k.zsh-theme" >> ~/.zshrc
O comando anterior adiciona no final do arquivo .zshrc, que está dentro do diretório home do usuário, o conteúdo entre aspas.
3º) Feche a abra novamente o terminal para ver efeito, conforme figura abaixo:
Habilitando destaque de comandos (Syntax Highlighting)
Adicionalmente, pode-se habilitar um destaque nos comandos digitados. Esse recurso é conhecido como Syntax Highlighting e é amplamente utilizado em outros editores de textos, IDEs, etc.
1ª) O pacote que provê o syntax highlighting no ZSH também está disponível no repositório oficial do Ubuntu 20.04. Portanto, para instalar esse recurso, basta executar o comando abaixo:
sudo apt install zsh-syntax-highlighting
2º) Habilite a configuração de Syntax Highlighting no zsh com comando abaixo:
echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
3º) Feche a abra novamente o terminal. Ao executar comandos, perceberá que serão destacados em cores diferentes, comandos, opções e parêmetros de comandos, dentre outros destaques.
Configurando a integração do ZSH com o Git
Existe um framework adequado que provê facilidades/funcionalidades no shell para o uso do git com o shell ZSH. Esse framework é o Oh-My-ZSH, que está disponível no GitHub.
Dentre as funcionalidades, pode-se citar a exibição no prompt do shell a branch atual, se há alterações pendentes de commit, dentre outras.
1ª) Caso ainda não tenha o git instalado, instale com o comando abaixo:
sudo apt install git
2ª) Depois de ter o git em seu sistema, para instalar o Oh-My-ZSH, execute no terminal:
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Quando se instala o Oh-My-ZSH, o arquivo de configuração do ZSH (.zshrc) é alterado. Logo, as alterações feitas anteriormente como ter habilitado o tema Powerlevel9k e o Syntax Highlighting foram perdidas.
3º) Habilitando novamente o Powerlevel9k com o comando:
echo "source /usr/share/powerlevel9k/powerlevel9k.zsh-theme" >> ~/.zshrc
4º) Habilitando novamente o plugin Syntax Highlighting com o comando:
echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
5º) Feche a abra novamente o terminal para visualizar as alterações.
6º) Para ilustrar a integração com o Git, pode-se criar um diretório, dentro do diretório home, e nele inicializar um repositório git. Para tanto, basta executar o comando abaixo:
mkdir repo-teste && cd repo-teste && git init
Personalizando ainda mais o ZSH
Habilitando Plugins do Oh-My-ZSH
O framework Oh-My-ZSH possui muitos plugins que extendem sua fucionalidades. Ao instalar o framework, conforme descrito anteriormente, dentro do diretório home foi criado um diretório .oh-my-zsh com o todo o seu código.
Dentro do diretório .oh-my-zsh, há um diretório plugins que contém os plugins disponíveis para o framework. O comando abaixo exibe os plugins disponíveis:
ls .oh-my-zsh/plugins
A saída do comando será vários diretórios, cada um para um plugin diferente. Destaca-se alguns: colored-man-pages, docker, ansible, mvn, dentre outros. Todos os plugins proporcionam funcionalidades extras no ZSH.
Como se habilita um plugin do Oh-My-ZSH?
Conforme já foi dito, qualquer configuração do ZSH fica dentro do diretório home do usuário em um arquivo nomeado .zshrc.
Para exemplificar, pode-se habilitar o plugin colored-man-pages, que proporciona a exibição colorida de páginas de manuais de comandos no GNU/Linux.
1ª) Usando um editor de texto, por exemplo o nano ou o vi, abra o arquivo de configuração com o comando:
nano ~/.zshrc
2º) Localize a linha que tem “plugins=”. Já deve ter entre os parenteses o plugin git, vamos acrescentar o colored-man-pages, conforme abaixo:
plugins=( git colored-man-pages )
3º) Salve e feche o arquivo. Feche a abra novamente o terminal para carregar as alterações.
4º) Para visualizar o efeito que plugin proporciona, digite no terminal:
man git
Habilitando outros temas
É possível utilizar outros temas no ZSH, além d Powerlevel9k. Para consultar alguns temas disponíveis, acesse https://github.com/ohmyzsh/ohmyzsh/wiki/Themes.
Para habilitar um tema diferente, abra novamente o arquivo .zshrc e localize a linha ZSH_THEME=. Entre as aspas duplas, basta informar o nome do tema desejado.
Observação importante é que para funcionar o novo tema, deve-se comentar, adicionando um # no início da linha que habilita o tema powerlevel9k, no final do arquivo:
#source /usr/share/powerlevel9k/powerlevel9k.zsh-theme
Explore mais temas e plugins para tornar o seu terminal shell mais produtivo e elegante.
Para Manjaro:
sudo apt install zsh -y
sudo pacman -S zsh
zsh --version\n
sudo pacman -S zsh-theme-powerlevel9k
sudo pacman -S zsh-syntax-highlighting
sudo pacman -S zsh-theme-powerlevel10k
echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
echo "source /usr/share/powerlevel9k/powerlevel9k.zsh-theme" >> ~/.zshrc
cd ~
ls .oh-my-zsh/plugins
nano ~/.zshrc
Referências:
- https://ohmyz.sh/
- https://github.com/ohmyzsh/ohmyzsh/wiki
- https://blog.renatolucena.net/post/terminal-com-oh-my-zsh-spaceship-dracula-e-mais
Donate to Site
Renato
Developer