Você provavelmente não precisa do Oh My Zsh

PUBLICIDADE

Você provavelmente não precisa do Oh My Zsh

Oh My Zsh ainda está sendo muito recomendado. O principal problema do Oh My Zsh é que ele adiciona muito inchaço desnecessário que afeta o tempo de inicialização do shell.

Como o OMZ é escrito em scripts de shell, toda vez que você abre uma nova aba do terminal, ele precisa interpretar todos esses scripts. Provavelmente, você não precisa do OMZ.

Aqui estão os tempos da configuração padrão com alguns plug-ins:

  ~ /usr/bin/time -f "%e seconds" zsh -i -c exit
0.38 seconds

E isso é apenas para prompt e uma nova instância de shell! Criar uma nova guia também leva algum tempo para o seu terminal. Parece um segundo inteiro para mim.

Meus fluxos de trabalho envolvem abrir e fechar centenas de guias de terminal ou tmux por dia. Eu faço tudo desde o terminal. Imagine que abrir uma nova aba em um editor de texto demoraria meio segundo todas as vezes.

De vez em quando, ele também verifica atualizações, o que pode levar alguns segundos quando você abre uma nova guia.

Não vejo motivo para atualizações frequentes da configuração do meu shell. Especialmente quando muitos plug-ins de terceiros também estão recebendo atualizações. Por que você deseja que o shell busque atualizações?

Meu conselho é começar de forma simples e adicionar apenas o que você realmente precisa.

Configuração mínima do Zsh

Aqui está a configuração mínima do Zsh que funciona bem como ponto de partida:

export HISTSIZE=1000000000
export SAVEHIST=$HISTSIZE
setopt EXTENDED_HISTORY
setopt autocd
autoload -U compinit; compinit

Já é uma configuração muito boa com conclusões!

Alguns detalhes sobre esta configuração:

  • HISTSIZE e SAVEHIST defina o tamanho do seu histórico.
  • EXTENDED_HISTORY adiciona carimbos de data/hora às entradas do histórico.
  • autocd permite que você altere diretórios sem digitar cd.
  • compinit inicializa o sistema de conclusão Zsh.

Personalização imediata

Você também deseja personalizar seu prompt. Para prompts, estou usando o starship, que é um prompt rápido e mínimo compactado em um único binário.

A maneira muito antiga de fazer isso no Oh My Zsh era usar plugins e temas personalizados. Com a nave estelar, agora é muito simples e fácil. Ele substitui git, ambiente virtual e plug-ins específicos de linguagem.

Aqui está minha configuração para a nave estelar:

[aws]
disabled = true

[package]
disabled = true

[gcloud]
disabled = true

[azure]
disabled = true


[nodejs]
disabled = true

[character]
success_symbol = '[➜](bold green)'

[cmd_duration]
min_time = 500
format = 'underwent [$duration](bold yellow)'

[directory]
truncation_length = 255
truncate_to_repo = false
use_logical_path = false

Como os serviços em nuvem estão disponíveis globalmente, desativei-os. Não quero que eles sejam exibidos em todos os prompts, pois isso adiciona ruído visual.

Esta é a aparência do meu prompt agora:

Este projeto usa Python e Rust, eles estão destacados no prompt. Quando você executa um comando, ele também mostra quanto tempo levou para ser executado.

Para habilitá-lo, adicione a seguinte linha ao seu .zshrc:

eval "$(starship init zsh)"

Pesquisa de histórico

Muita gente usa zsh-autosuggestions plugin para pesquisa de histórico. Acho isso uma distração, porque mostra todas as sugestões enquanto você digita.

Em vez disso, prefiro usar fzf vinculado a Ctrl+R para pesquisar o histórico. Ele fornece uma pesquisa difusa interativa.

Para habilitá-lo, adicione as seguintes linhas ao seu .zshrc:

Hora final de inicialização

Após essas alterações, a inicialização deverá ficar da seguinte forma:

 /usr/bin/time -f "%e seconds" zsh -i -c exit
0.07 seconds

Dicas diversas

Para usuários do Vim, também sugiro ativar o modo Vim no Zsh. Isso torna os comandos de edição muito mais rápidos.

set -o vi
# Fix for backspace in vi mode
bindkey -v '^?' backward-delete-char

Funciona da mesma maneira que no Vim. Por padrão, zle (a biblioteca que lê a entrada do shell) usa atalhos de teclado do Emacs.

Conclusão

Depois de mudar do OMZ há um ano, levei apenas alguns dias para me acostumar com o novo fluxo de trabalho. Se ainda faltam alguns dos plug-ins, você pode carregá-los manualmente.

Fonte: theverge

Mais recentes

PUBLICIDADE

WP Twitter Auto Publish Powered By : XYZScripts.com