Plugins
Plugins são uma forma de estender as funcionalidades do shell. Para os sistemas que configuramos com o Zsh, utilizaremos o Oh My Zsh Já para o PowerShell, instalaremos os plugins diretamente.
O Zoxide é um plugin que facilita a navegação entre diretórios.
Por exemplo, imagine que você tenha um diretório chamado ~/Documents/Projects/MyProject
, que voê frequentemente acessa.
Ter que digitar esse caminho toda vez que quiser acessar esse diretório pode ser um pouco cansativo.
O Zoxide permite que você navegue para esse diretório apenas digitando cd MyProject
.
Isso é possível porque o Zoxide mantém um histórico dos diretórios que você acessa com mais frequência.
E então, quando você digita cd MyProject
, ele automaticamente navega para o diretório ~/Documents/Projects/MyProject
.
O Zoxide tem como dependência o FZF, que é um fuzzy finder. Ele é uma ferramenta que permite que você pesquise por arquivos e diretórios de forma rápida e eficiente. Vamos tratar da sua instalação adiante.
PowerShell
Seção intitulada “PowerShell”Para instalar o FZF no PowerShell, execute o comando abaixo.
winget install fzf
Então, feche e reabra o terminal.
Em seguida, instale o Zoxide com o comando a seguir.
winget install ajeetdsouza.zoxide
Feche e reabra o terminal novamente.
Para confirmar a instalação, execute os comandos abaixo.
fzf --version# 0.61.3 (d24b58ef)zoxide --version# zoxide 0.9.7
Então, precisamos adicionar as seguintes linhas ao final do seu arquivo de configuração do PowerShell:
## Shell configuration
### Theme$ENV:STARSHIP_CONFIG = "$HOME\.config\starship.toml"function Invoke-Starship-TransientFunction { &starship module character}Invoke-Expression (&starship init powershell)Enable-TransientPrompt
### Plugins
#### ZoxideInvoke-Expression (& { (zoxide init --cmd cd powershell | Out-String) })
Lembre-se que, para abrir o arquivo de configuração do PowerShell, você deve executar o comando code $PROFILE
no terminal.
O arquivo aberto dependerá da versão do PowerShell que você está utilizando.

Salve o arquivo, feche o editor, e então feche e abra novamente o PowerShell para que as alterações tenham efeito.
Para instalar o FZF no Zsh, execute um dos seguintes comandos, conforme especificado pela documentação oficial.
Para o Fedora ou o WSL usando o Fedora como distro, utilize a ferramenta dnf
.
sudo dnf install fzf -yfzf --version# 0.61.3 (Fedora)
Para o Mint ou outros derivados do Debian, a versão do FZF disponível nos repositórios é a 0.44.1
, que não oferece os recursos necessários.
Então, por enquanto, vamos baixar uma versão um pouco mais atualizada diretamente do repositório oficial.
wget https://github.com/junegunn/fzf/releases/download/0.48.0/fzf-0.48.0-linux_amd64.tar.gztar -xzf fzf-0.48.0-linux_amd64.tar.gzsudo mv fzf /usr/local/bin/fzf --version# 0.48.0 (091b7ea)
Então, feche e reabra o terminal.
Para instalar o Zoxide, execute o seguinte comando, conforme especificado pela documentação oficial.
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh
Para verificar se a instalação foi bem-sucedida, execute o seguinte comando.
zoxide --version# zoxide 0.9.7
Então, devemos atualizar o arquivo de configurações ~/.zshrc
, adicionando as seguintes linhas ao fim do arquivo de configuração.
## Path configurationPATH=$PATH:~/.local/bin
## Shell configurationZSH_THEME="robbyrussell"
### Path to Oh My Zsh installationexport ZSH="$HOME/.oh-my-zsh"
### Source Oh my Zshsource $ZSH/oh-my-zsh.sh
### Pluginsplugins=( git)
#### FZF[ -f ~/.fzf.zsh ] && source ~/.fzf.zshsource <(fzf --zsh)
#### Zoxideeval "$(zoxide init --cmd cd zsh)"
### Themeeval "$(starship init zsh)"export STARSHIP_CONFIG="$HOME/.config/starship.toml"
Salve o arquivo, feche o editor, e então feche e abra novamente o terminal para que as alterações tenham efeito.
Zsh Autosuggestions
Seção intitulada “Zsh Autosuggestions”O Zsh Autosuggestions é um plugin que sugere comandos enquanto você digita. Isso é especialmente útil quando você se lembra de parte de um comando, mas não dele todo.
Esse plugin está disponível apenas para o Zsh — sinto muito, pessoal do PowerShell 😔. O Zsh Autosuggestions pode ser habilitado por meio do Oh My Zsh.
Para isso, devemos clonar o repositório do plugin para a pasta de plugins do Oh My Zsh. Faça isso executando o seguinte comando:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Então, vamos editar o arquivo de configuração do Zsh para habilitar o plugin. Fazemos isso adicionando as seguintes linhas ao fim do arquivo de configuração.
## Path configurationPATH=$PATH:~/.local/bin
## Shell configurationZSH_THEME="robbyrussell"
### Path to Oh My Zsh installationexport ZSH="$HOME/.oh-my-zsh"
### Source Oh my Zshsource $ZSH/oh-my-zsh.sh
### Pluginsplugins=( git)
#### FZF[ -f ~/.fzf.zsh ] && source ~/.fzf.zshsource <(fzf --zsh)
#### Zoxideeval "$(zoxide init --cmd cd zsh)"
#### Zsh Autosuggestionssource ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
### Themeeval "$(starship init zsh)"export STARSHIP_CONFIG="$HOME/.config/starship.toml"
Lembre-se de salvar o arquivo, fechar o editor, e então fechar e abrir novamente o terminal para que as alterações tenham efeito.
Zsh Syntax Highlighting
Seção intitulada “Zsh Syntax Highlighting”O Zsh Syntax Highlighting é um plugin que destaca comandos enquanto você digita.
Ele também está disponível apenas para o Zsh, e pode ser habilitado por meio do Oh My Zsh.
Para isso, devemos clonar o repositório do plugin para a pasta de plugins do Oh My Zsh. Faça isso executando o seguinte comando.
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Então, vamos editar o arquivo de configuração do Zsh para habilitar o plugin. Basta adicionar as seguintes linhas fim do arquivo de configuração:
## Path configurationPATH=$PATH:~/.local/bin
## Shell configurationZSH_THEME="robbyrussell"
### Path to Oh My Zsh installationexport ZSH="$HOME/.oh-my-zsh"
### Source Oh my Zshsource $ZSH/oh-my-zsh.sh
### Pluginsplugins=( git)
#### FZF[ -f ~/.fzf.zsh ] && source ~/.fzf.zshsource <(fzf --zsh)
#### Zoxideeval "$(zoxide init --cmd cd zsh)"
#### Zsh Autosuggestionssource ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
#### Zsh Syntax Highlightingsource ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
### Themeeval "$(starship init zsh)"export STARSHIP_CONFIG="$HOME/.config/starship.toml"
Salve o arquivo, feche o editor, e então feche e abra novamente o terminal para que as alterações tenham efeito.