Pular para o conteúdo

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.

Para instalar o FZF no PowerShell, execute o comando abaixo.

PowerShell
winget install fzf

Então, feche e reabra o terminal.

Em seguida, instale o Zoxide com o comando a seguir.

PowerShell
winget install ajeetdsouza.zoxide

Feche e reabra o terminal novamente.

Para confirmar a instalação, execute os comandos abaixo.

PowerShell
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:

$HOME/Documents/PowerShell/Microsoft.PowerShell_profile.ps1
## 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
#### Zoxide
Invoke-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.

Arquivo de configuração do PowerShell aberto no Visual Studio Code, em que foi adicionada a configuração do Zoxide.
Configurando o Zoxide no PowerShell.

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.

Fedora ou WSL
sudo dnf install fzf -y
fzf --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.

Mint
wget https://github.com/junegunn/fzf/releases/download/0.48.0/fzf-0.48.0-linux_amd64.tar.gz
tar -xzf fzf-0.48.0-linux_amd64.tar.gz
sudo 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.

Fedora, WSL ou Mint
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.

Fedora, WSL ou Mint
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.

~/.zshrc
## Path configuration
PATH=$PATH:~/.local/bin
## Shell configuration
ZSH_THEME="robbyrussell"
### Path to Oh My Zsh installation
export ZSH="$HOME/.oh-my-zsh"
### Source Oh my Zsh
source $ZSH/oh-my-zsh.sh
### Plugins
plugins=(
git
)
#### FZF
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
source <(fzf --zsh)
#### Zoxide
eval "$(zoxide init --cmd cd zsh)"
### Theme
eval "$(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.

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:

Terminal window
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.

~/.zshrc
## Path configuration
PATH=$PATH:~/.local/bin
## Shell configuration
ZSH_THEME="robbyrussell"
### Path to Oh My Zsh installation
export ZSH="$HOME/.oh-my-zsh"
### Source Oh my Zsh
source $ZSH/oh-my-zsh.sh
### Plugins
plugins=(
git
)
#### FZF
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
source <(fzf --zsh)
#### Zoxide
eval "$(zoxide init --cmd cd zsh)"
#### Zsh Autosuggestions
source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
### Theme
eval "$(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.

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.

Terminal window
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:

~/.zshrc
## Path configuration
PATH=$PATH:~/.local/bin
## Shell configuration
ZSH_THEME="robbyrussell"
### Path to Oh My Zsh installation
export ZSH="$HOME/.oh-my-zsh"
### Source Oh my Zsh
source $ZSH/oh-my-zsh.sh
### Plugins
plugins=(
git
)
#### FZF
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
source <(fzf --zsh)
#### Zoxide
eval "$(zoxide init --cmd cd zsh)"
#### Zsh Autosuggestions
source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
#### Zsh Syntax Highlighting
source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
### Theme
eval "$(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.