Oh My Zsh é uma estrutura de código aberto voltada para a comunidade para gerenciar sua configuração zsh.
Parece chato. Vamos tentar novamente.
Oh My Zsh não fará de você um desenvolvedor 10x... mas você pode se sentir como um.
Uma vez instalado, seu terminal se tornará o assunto da cidade ou seu dinheiro de volta! A cada pressionamento de tecla no prompt de comando, você aproveitará centenas de plug-ins poderosos e belos temas. Estranhos virão até você em cafés e perguntarão: "isso é incrível! você é algum tipo de gênio?"
Finalmente, você começará a receber o tipo de atenção que sempre achou que merecia. ...ou talvez você use o tempo que está economizando para começar a usar fio dental com mais frequência. ?
Para saber mais, visite ohmyz.sh, siga @ohmyzsh no X (antigo Twitter) e junte-se a nós no Discord.
SO | Status |
---|---|
Android | ✅ |
freeBSD | ✅ |
LCARS | ? |
Linux | ✅ |
macOS | ✅ |
OS/2 Warp | |
Janelas (WSL2) | ✅ |
zsh --version
para confirmar), verifique as seguintes instruções do wiki aqui: Instalando o ZSHcurl
ou wget
devem ser instaladosgit
deve ser instalado (recomendado v2.4.11 ou superior) Oh My Zsh é instalado executando um dos seguintes comandos em seu terminal. Você pode instalar isso através da linha de comando com curl
, wget
ou outra ferramenta semelhante.
Método | Comando |
---|---|
enrolar | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
wget | sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
buscar | sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
Alternativamente, o instalador também é espelhado fora do GitHub. O uso deste URL pode ser necessário se você estiver em um país como China ou Índia (para determinados ISPs), que bloqueia raw.githubusercontent.com
:
Método | Comando |
---|---|
enrolar | sh -c "$(curl -fsSL https://install.ohmyz.sh/)" |
wget | sh -c "$(wget -O- https://install.ohmyz.sh/)" |
buscar | sh -c "$(fetch -o - https://install.ohmyz.sh/)" |
Observe que qualquer .zshrc
anterior será renomeado para .zshrc.pre-oh-my-zsh
. Após a instalação, você pode mover a configuração que deseja preservar para o novo .zshrc
.
É uma boa ideia inspecionar o script de instalação de projetos que você ainda não conhece. Você pode fazer isso baixando primeiro o script de instalação, examinando-o para que tudo pareça normal e depois executando-o:
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
Se o URL acima expirar ou falhar, talvez seja necessário substituir o URL por https://install.ohmyz.sh
para poder obter o script.
Oh My Zsh vem com uma porrada de plugins para você aproveitar. Você pode dar uma olhada no diretório de plugins e/ou no wiki para ver o que está disponível atualmente.
Depois de localizar um plugin (ou vários) que gostaria de usar com Oh My Zsh, você precisará habilitá-los no arquivo .zshrc
. Você encontrará o arquivo zshrc no diretório $HOME
. Abra-o com seu editor de texto favorito e você verá um local para listar todos os plugins que deseja carregar.
vi ~ /.zshrc
Por exemplo, isso pode começar a ficar assim:
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
Observe que os plugins são separados por espaços em branco (espaços, tabulações, novas linhas...). Não use vírgulas entre eles ou eles quebrarão.
Cada plugin integrado inclui um README , documentando-o. Este README deve mostrar os aliases (se o plugin adicionar algum) e itens extras incluídos naquele plugin específico.
Nós vamos admitir isso. No início do mundo Oh My Zsh, podemos ter ficado um pouco felizes demais com o tema. Temos mais de cento e cinquenta temas agrupados. A maioria deles tem capturas de tela no wiki (estamos trabalhando para atualizar isso!). Confira!
O tema de Robby é o padrão. Não é o mais chique. Não é o mais simples. É o caminho certo (para ele).
Depois de encontrar um tema que gostaria de usar, você precisará editar o arquivo ~/.zshrc
. Você verá uma variável de ambiente (em letras maiúsculas) que se parece com:
ZSH_THEME= " robbyrussell "
Para usar um tema diferente, basta alterar o valor para corresponder ao nome do tema desejado. Por exemplo:
ZSH_THEME= " agnoster " # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
Observação
Muitas vezes você verá capturas de tela de um tema zsh, experimentará e descobrirá que não parece o mesmo para você.
Isso ocorre porque muitos temas exigem a instalação de uma fonte Powerline ou Nerd para serem renderizados corretamente. Sem eles, esses temas renderizarão símbolos de prompt estranhos. Confira o FAQ para mais informações.
Além disso, tome cuidado, pois os temas controlam apenas a aparência do seu prompt. Este é o texto que você vê antes ou depois do cursor, onde você digitará seus comandos. Os temas não controlam coisas como as cores da janela do seu terminal (conhecidas como esquema de cores ) ou a fonte do seu terminal. Estas são configurações que você pode alterar em seu emulador de terminal. Para obter mais informações, consulte o que é um tema zsh.
Abra uma nova janela de terminal e seu prompt deverá ser parecido com este:
Caso você não tenha encontrado um tema adequado às suas necessidades, dê uma olhada no wiki para ver mais deles.
Se você estiver se sentindo mal-humorado, pode deixar o computador selecionar um aleatoriamente para você cada vez que abrir uma nova janela de terminal.
ZSH_THEME= " random " # (...please let it be pie... please be some pie..)
E se você quiser escolher um tema aleatório em uma lista de seus temas favoritos:
ZSH_THEME_RANDOM_CANDIDATES=(
" robbyrussell "
" agnoster "
)
Se você sabe apenas quais temas não gosta, pode adicioná-los de forma semelhante a uma lista de ignorados:
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)
Se você tiver mais dúvidas ou problemas, poderá encontrar uma solução em nossas Perguntas frequentes.
Se você é do tipo que gosta de sujar as mãos, essas seções podem ressoar.
Alguns usuários podem querer instalar manualmente o Oh My Zsh ou alterar o caminho padrão ou outras configurações que o instalador aceita (essas configurações também estão documentadas na parte superior do script de instalação).
O local padrão é ~/.oh-my-zsh
(escondido em seu diretório inicial, você pode acessá-lo com cd ~/.oh-my-zsh
)
Se você quiser alterar o diretório de instalação com a variável de ambiente ZSH
, executando export ZSH=/your/path
antes de instalar ou configurando-o antes do final do pipeline de instalação assim:
ZSH= " $HOME /.dotfiles/oh-my-zsh " sh install.sh
Se estiver executando o script de instalação Oh My Zsh como parte de uma instalação automatizada, você pode passar o sinalizador --unattended
para o script install.sh
. Isso terá o efeito de não tentar alterar o shell padrão e também não executará zsh
quando a instalação for concluída.
sh -c " $( curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh ) " " " --unattended
Se você estiver na China, na Índia ou em outro país que bloqueie raw.githubusercontent.com
, talvez seja necessário substituir o URL por https://install.ohmyz.sh
para que ele seja instalado.
O script de instalação também aceita estas variáveis para permitir a instalação de um repositório diferente:
REPO
(padrão: ohmyzsh/ohmyzsh
): assume a forma de owner/repository
. Se você definir esta variável, o instalador procurará um repositório em https://github.com/{owner}/{repository}
.
REMOTE
(padrão: https://github.com/${REPO}.git
): este é o URL completo do clone do repositório git. Você pode usar esta configuração se quiser instalar a partir de um fork que não esteja no GitHub (GitLab, Bitbucket...) ou se quiser clonar com SSH em vez de HTTPS ( [email protected]:user/project.git
) .
NOTA: é incompatível com a configuração da variável REPO
. Esta configuração terá precedência.
BRANCH
(padrão: master
): você pode usar esta configuração se quiser alterar o branch padrão a ser verificado ao clonar o repositório. Isso pode ser útil para testar uma solicitação pull ou se você quiser usar um branch diferente de master
.
Por exemplo:
REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh
git clone https://github.com/ohmyzsh/ohmyzsh.git ~ /.oh-my-zsh
~/.zshrc
existente cp ~ /.zshrc ~ /.zshrc.orig
Você pode criar um novo arquivo de configuração zsh copiando o modelo que incluímos para você.
cp ~ /.oh-my-zsh/templates/zshrc.zsh-template ~ /.zshrc
chsh -s $( which zsh )
Você deve sair da sua sessão de usuário e fazer login novamente para ver essa alteração.
Depois de abrir uma nova janela de terminal, ele deverá carregar o zsh com a configuração do Oh My Zsh.
Se você tiver algum problema de instalação, aqui estão algumas soluções comuns.
PATH
em ~/.zshrc
se não conseguir encontrar alguns comandos após mudar para oh-my-zsh
.ZSH
em ~/.zshrc
. Se você quiser substituir qualquer um dos comportamentos padrão, basta adicionar um novo arquivo (terminando em .zsh
) no diretório custom/
.
Se você tiver muitas funções que funcionam bem juntas, você pode colocá-las como um arquivo XYZ.plugin.zsh
no diretório custom/plugins/
e então habilitar este plugin.
Se você quiser substituir a funcionalidade de um plugin distribuído com Oh My Zsh, crie um plugin com o mesmo nome no diretório custom/plugins/
e ele será carregado em vez daquele em plugins/
.
O comportamento padrão no Oh My Zsh é usar BSD ls
em sistemas macOS e FreeBSD. Se o GNU ls
estiver instalado (como comando gls
), você poderá optar por usá-lo. Para fazer isso, você pode usar a configuração baseada em zstyle antes de obter oh-my-zsh.sh
:
zstyle ' :omz:lib:theme-and-appearance ' gnu-ls yes
Nota: isso não é compatível com DISABLE_LS_COLORS=true
Se você quiser pular os aliases padrão do Oh My Zsh (aqueles definidos nos arquivos lib/*
) ou aliases do plugin, você pode usar as configurações abaixo em seu arquivo ~/.zshrc
, antes que o Oh My Zsh seja carregado . Observe que existem muitas maneiras diferentes de ignorar aliases, dependendo de suas necessidades.
# Skip all aliases, in lib files and enabled plugins
zstyle ' :omz:* ' aliases no
# Skip all aliases in lib files
zstyle ' :omz:lib:* ' aliases no
# Skip only aliases defined in the directories.zsh lib file
zstyle ' :omz:lib:directories ' aliases no
# Skip all plugin aliases
zstyle ' :omz:plugins:* ' aliases no
# Skip only the aliases from the git plugin
zstyle ' :omz:plugins:git ' aliases no
Você pode combiná-los de outras maneiras, levando em consideração que escopos mais específicos têm precedência:
# Skip all plugin aliases, except for the git plugin
zstyle ' :omz:plugins:* ' aliases no
zstyle ' :omz:plugins:git ' aliases yes
Uma versão anterior desse recurso usava a configuração abaixo, que foi removida:
zstyle ' :omz:directories ' aliases no
Em vez disso, agora você pode usar o seguinte:
zstyle ' :omz:lib:directories ' aliases no
Este recurso está atualmente em fase de testes e pode estar sujeito a alterações no futuro. Atualmente, também não é compatível com gerenciadores de plug-ins como zpm ou zinit, que não fornecem o script de inicialização (
oh-my-zsh.sh
) onde esse recurso é implementado.
Também não tem conhecimento de "aliases" definidos como funções. Exemplos disso são as funções
gccd
,ggf
ouggl
do plugin git.
As funções de prompt assíncrono são um recurso experimental (incluído em 3 de abril de 2024) que permite que Oh My Zsh renderize informações de prompt de forma assíncrona. Isso pode melhorar o desempenho da renderização imediata, mas pode não funcionar bem com algumas configurações. Esperamos que isso não seja um problema, mas se você estiver tendo problemas com esse novo recurso, poderá desativá-lo definindo o seguinte em seu arquivo .zshrc, antes de Oh My Zsh ser originado:
zstyle ' :omz:alpha:lib:git ' async-prompt no
Se o seu problema é que o prompt do git simplesmente parou de aparecer, você pode tentar forçá-lo definindo a seguinte configuração antes que oh-my-zsh.sh
seja originado. Se ainda não funcionar, abra um problema com o seu caso.
zstyle ' :omz:alpha:lib:git ' async-prompt force
Por padrão, você será solicitado a verificar atualizações a cada 2 semanas. Você pode escolher outros modos de atualização adicionando uma linha ao seu arquivo ~/.zshrc
, antes de Oh My Zsh ser carregado :
Atualização automática sem solicitação de confirmação:
zstyle ' :omz:update ' mode auto
Basta oferecer um lembrete a cada poucos dias, se houver atualizações disponíveis:
zstyle ' :omz:update ' mode reminder
Para desativar totalmente as atualizações automáticas:
zstyle ' :omz:update ' mode disabled
NOTA: você pode controlar a frequência com que Oh My Zsh verifica atualizações com a seguinte configuração:
# This will check for updates every 7 days
zstyle ' :omz:update ' frequency 7
# This will check for updates every time you open the terminal (not recommended)
zstyle ' :omz:update ' frequency 0
Você também pode limitar o detalhamento da atualização com as seguintes configurações:
zstyle ' :omz:update ' verbose default # default update prompt
zstyle ' :omz:update ' verbose minimal # only few lines
zstyle ' :omz:update ' verbose silent # only errors
Se você quiser atualizar a qualquer momento (talvez alguém tenha lançado um novo plugin e você não queira esperar uma semana?), você só precisa executar:
omz update
Magia! ?
Oh My Zsh não é para todos. Sentiremos sua falta, mas queremos tornar esta separação fácil.
Se você deseja desinstalar oh-my-zsh
, basta executar uninstall_oh_my_zsh
na linha de comando. Ele será removido e reverterá sua configuração anterior bash
ou zsh
.
Antes de participar de nossa encantadora comunidade, leia o código de conduta.
Estou longe de ser um especialista em Zsh e suspeito que há muitas maneiras de melhorar – se você tiver ideias sobre como tornar a configuração mais fácil de manter (e mais rápida), não hesite em bifurcar e enviar solicitações pull!
Também precisamos de pessoas para testar solicitações pull. Portanto, dê uma olhada nas questões em aberto e ajude onde puder.
Consulte Contribuindo para obter mais detalhes.
Temos temas (mais que) suficientes por enquanto. Adicione seu tema à página wiki de temas externos.
Oh My Zsh tem uma comunidade vibrante de usuários satisfeitos e colaboradores encantadores. Sem todo o tempo e ajuda de nossos colaboradores, não seria tão incrível.
Muito obrigado!
Estamos nas redes sociais:
Temos adesivos, camisetas e canecas disponíveis para você mostrar seu amor por Oh My Zsh. Mais uma vez, você se tornará o assunto da cidade!
Oh My Zsh é lançado sob a licença do MIT.
Oh My Zsh foi iniciado pela equipe da Planet Argon, uma agência de desenvolvimento Ruby on Rails. Confira nossos outros projetos de código aberto.