Confie em nós quando dizemos que Oh My Zsh torna o uso do terminal muito 10x mais agradável e extremamente divertido, mesmo durante o trabalho.
No entanto, embora forneça uma excelente configuração padrão pronta para uso, há muitas maneiras de personalizar e aprimorar ainda mais seu ambiente Zsh.
Neste tutorial, exploraremos dicas avançadas para usuários do Oh My Zsh, com foco no realce de sintaxe e outros recursos que aumentam a produtividade.
Instalação
NOTA: Certifique-se de ter o Zsh instalado em seu sistema. Você pode usar seu gerenciador de pacotes padrão para configurá-lo em sua máquina.
A seguir, se ainda não o fez, você pode instalar o Oh My Zsh executando o seguinte comando no terminal:
sh-c '$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)'
Configuração básica
Oh My Zsh cria uma configuração padrão localizada em “~/.zshrc”. Sempre que precisar personalizá-lo, você precisará editar este arquivo usando um editor de texto.
Realce de sintaxe
O realce de sintaxe em Oh My Zsh nos permite distinguir visualmente os comandos, arquivos e muito mais. Também permite saber se o comando que deseja executar está correto ou não.
Para habilitá-lo, comece clonando o repositório.
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-s destaque de sintaxeEm seguida, adicione ou atualize a seguinte linha em “~/.zshrc”.
plugins=(... realce de sintaxe zsh)Finalmente, aplique as alterações recarregando o arquivo de configuração.
$ fonte ~/.zshrc
Você pode personalizar as cores de destaque de acordo com suas preferências. Você pode fazer isso definindo as configurações de cores em “~/.zshrc”.
ZSH_HIGHLIGHT_HIGHLIGHTERS=(padrão de colchetes principais)ZSH_HIGHLIGHT_COLORS[ 'padrão' ]= 'fg=azul,negrito'
Este exemplo define a cor da correspondência de padrões como azul e negrito.
Oh My Zsh também nos permite ativar o destaque para aliases e funções. Para habilitar esse recurso, podemos adicionar as seguintes entradas ao arquivo de configuração Zsh:
ZSH_HIGHLIGHT_ENABLE_ALIASES=verdadeiroZSH_HIGHLIGHT_ENABLE_FUNCTIONS=verdadeiro
Em outros casos, você pode desabilitar o realce de sintaxe para comandos específicos. Podemos conseguir isso adicionando exceções na configuração conforme demonstrado no exemplo a seguir:
ZSH_HIGHLIGHT_IGNORE_COMMENTS = verdadeiroZSH_HIGHLIGHT_IGNORE_SELF = verdadeiro
Estas linhas evitam o destaque de comentários e comandos auto-executados.
Personalização avançada de prompts
Vamos passar para uma personalização de prompt mais avançada usando a estrutura Oh My Zsh.
Podemos usar o tema Powerlevel10k para obter um prompt altamente personalizável e rico em recursos.
Podemos instalá-lo executando o seguinte comando:
$ git clone --profundidade= 1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10kPodemos então definir o tema editando o arquivo “~/.zshrc”. Adicione a entrada da seguinte maneira:
ZSH_THEME= 'nível de potência10k/nível de potência10k'Após o lançamento, o tema executará o assistente de configuração que orienta você nos princípios básicos da configuração do tema.
Para um guia completo sobre isso, temos um tutorial existente sobre como instalar e configurar o Powerlevel10k.
Elementos personalizados
Powerlevel10k nos permite adicionar elementos de prompt personalizados. Por exemplo, para exibir a ramificação e o status atuais do Git, podemos adicionar a entrada da seguinte forma:
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status git)Temas e estilos de prompt
Para personalizar ainda mais a aparência do prompt, podemos definir estilos personalizados em “~/.zshrc”. Consulte a documentação para obter mais detalhes.
Plug-ins e sugestões automáticas
Oh My Zsh possui uma vasta coleção de plug-ins que aprimoram a experiência do shell. Para gerenciar plug-ins, adicione-os ao array de plug-ins em seu “~/.zshrc”.
Por exemplo, para habilitar os plugins Git e Docker, use o seguinte comando:
plug-ins=(... git docker)Adicionando plug-ins personalizados
Se não conseguir encontrar um plugin específico, você pode criar o seu próprio ou cloná-lo; um de um repositório Github. Coloque o script do plugin em “~/.oh-my-zsh/custom/plugins/plugin_name” e adicione-o ao array de plugins.
Sugestões automáticas Zsh
Zsh também oferece suporte a sugestões automáticas que prevêem e completam seus comandos com base no histórico de comandos anterior. Para habilitá-lo, adicione a seguinte entrada em “~/.zshrc”.
plugins=(... zsh-autosugestões)Aliases e funções
Aliases são comandos que atuam como subseqüentes ou atalhos para comandos longos. Para definir um alias personalizado, edite o arquivo de configuração Zsh e siga a sintaxe fornecida:
apelido eu= 'ls -alF'apelido atualizar = 'sudo apt-get atualização && sudo apt-get atualização'
No exemplo dado, o alias “ll” representa o comando “ls –alF” enquanto “update” representa os comandos de atualização completos.
Funções Zsh
Também temos a capacidade de definir funções em Zsh. As funções são mais poderosas do que os aliases, pois incluem lógica e execução personalizadas.
Podemos defini-los no mesmo arquivo de configuração da seguinte forma:
função show_datetime() {data_atual local
data_atual=$(data '+%Y-%m-%d %H:%M:%S' )
eco 'Data e hora atuais: $ current_datetime'
}
Podemos então executar o comando anterior para exibir a data e hora da seguinte forma:
mostrar_datahoraOrganizando os aliases e funções
Para manter os aliases e funções organizados, podemos criar arquivos separados em “~/.oh-my-zsh/custom/aliases” e “~/.oh-my-zsh/custom/functions” e, em seguida, obtê-los no Arquivo de configuração “~/.zshrc”.
fonte ~/.oh-my-zsh/custom/aliases/*fonte ~/.oh-my-zsh/custom/functions/*
Isso permite que você mantenha os aliases e funções em diferentes subdiretórios enquanto ainda os acessa em qualquer parte do sistema de arquivos.
Conclusão
Neste tutorial, orientamos você nos princípios básicos de instalação e configuração do Oh My Zsh em sua máquina. Em seguida, passamos a cobrir conceitos mais complexos e detalhados, como personalizações de prompts, instalações de temas, uso de plug-ins, sugestões automáticas, aliases e funções e muito mais.