Blog Linux Avante

forgit: Comandos Git interativos com visualizações graças à tecnologia fzf Fuzzy Finder

18 de novembro de 2019

forgit é um utilitário de linha de comando que tira proveito do popular localizador fuzzy fzf para fornecer comandos git interativos, com visualizações.

Novo no fzf? Este é um localizador difuso de linha de comando que pode ser usado para uma ampla gama de propósitos. Este filtro de linha de comando interativo pode ser usado com várias listas, como arquivos, histórico de comandos, processos, nomes de host, git commits e muito mais.

fzf é muito rápido, é portátil sem dependências (é escrito em Go), tem um layout flexível e inclui vários recursos extras como a capacidade de visualizar arquivos destacados em uma janela dividida dentro do fzf (que é o que o forgit usa para sua visualização arquivos), um plug-in Vim/Neovim, um script para iniciar fzf em um painel tmux, atalhos de teclado e autocompletar difuso.

Visualizador de log git interativo com visualizações de arquivo para a linha de comando

Visualizador interativo git log (glo ao usar o forgit) com visualizações de arquivo para o comando linha, usando forjado (alimentado por fzf)

forgit é um script de shell para Bash, Zsh e Fish que aproveita o fzf para tornar os comandos git interativos, com pré-visualizações instantâneas. git já tem uma opção -i/--interactive, mas o forgit é mais intuitivo, usa a busca rápida e difusa e vem com extras, como atalhos de teclado do Vim.

O forgit fornece os seguintes comandos:

  • ga: seletor git add interativo
  • glo: visualizador git log interativo
  • gi: gerador .gitignore interativo
  • gd: visualizador git diff interativo
  • grh: seletor interativo git reset HEAD <file> interativo
  • gcf: seletor git checkout <file> interativo
  • gss: visualizador git stash interativo
  • gclean: seletor interativo git clean

Aqui está uma captura de tela do comando git add (ga) fornecido por forgit:

Linha de comando git add interativo

Os comandos fornecidos pelo forgit são aliases que podem ser facilmente alterados se desejar, definindo-os antes de fornecer o forgit (por exemplo, em seu arquivo ~/.bashrc ou ~/.zshrc) se você não estiver usando um gerenciador de plug-ins. Você também pode adicionar opções fzf padrão para cancelar, para que possa alterar os atalhos de teclado ou layout. Verifique a documentação do forgit para obter mais informações.

O forgit também inclui integração pronta para uso com algumas ferramentas de linha de comando de terceiros que fornecem vários aprimoramentos. Instale diff-so-fancy (torne seu diffs legíveis para ajudar a melhorar a qualidade do código e ajudá-lo a identificar defeitos mais rápido) ou delta (um pager de destaque de sintaxe para git) para melhorar a saída git diff , bat (cat com destaque de sintaxe) para fornecer destaque de sintaxe para gitignore e emoji-cli para oferecer suporte a emoji em git log.

Estas são as combinações de teclas padrão:

  • Enter: confirmar
  • Tab: marca de alternância
  • ?: alternar janela de visualização
  • Alt - W: alternar o ajuste de visualização
  • Ctrl - S: alternar classificação
  • Ctrl - R: alternar seleção
  • Ctrl - K / P: seleção mover para cima
  • Ctrl - J / N: seleção mover para baixo
  • Alt - K / P: visualização mover para cima
  • Alt - J / N: visualização mover para baixo

Instalação

Para usar o forgit, você precisará instalar o fzf primeiro. fzf está disponível nos repositórios para Fedora, openSUSE Tumbleweed, Debian Buster, Ubuntu 19.04 e mais recente e Arch Linux. Você também pode baixar o binário fzf e instalá-lo em algum lugar do seu caminho (como /usr/local/bin), usar um script de instalação ou Homebrew/Linuxbrew. Consulte as instruções do wiki fzf para obter detalhes sobre a instalação do fzf e todas as opções disponíveis.

Uma vez que o fzf é instalado, você pode instalar o forgit usando um gerenciador de plug-ins ZSH ou manualmente, clonando seu repositório Git e fornecendo-o em sua configuração de shell. Você pode instalá-lo manualmente a seguir:

1. Clone o repositório

Clone em uma pasta oculta ~/.forgit (você obviamente precisará ter o git instalado em seu sistema para isso):

Comandos para usar no terminal

git clone https://github.com/wfxr/forgit ~/.forgit

Já que clonamos o repositório git forgit, podemos facilmente atualizá-lo mais tarde com um simples git pull no diretório ~/.forgit.

2. Configure o shell

Em seguida, você precisará fornecer ~/.forgit/forgit.plugin.zsh na configuração do shell.

Abra ~/.bashrc ou ~/.zshrc (dependendo do que você está usando) com um editor de texto e no final dele (após obter o fzf!), Adicione o seguinte:

Comandos para usar no terminal

[ -f ~/.forgit/forgit.plugin.zsh ] && source ~/.forgit/forgit.plugin.zsh

O plug-in do forgit é idêntico para Zsh e Bash, por isso, embora a extensão do arquivo seja .zsh, ele funciona tanto no Zsh quanto no Bash.

3. Reinicie o shell

Reinicie seu shell ou recarregue o arquivo de configuração

Para recarregar seu arquivo de configuração, você pode usar:

Bash

Comandos para usar no terminal

source ~/.bashrc

Zsh

Comandos para usar no terminal

source ~/.zshrc

Você também pode achar isto interessante: Starship é um prompt de shell mínimo e rápido escrito em Rust

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.