Blog Linux Avante

z.lua - Uma maneira mais rápida de mudar de diretório (comando do cd que aprende à medida que você o usa)

1 de julho de 2019

z.lua é uma nova ferramenta que ajuda a navegar no seu sistema de arquivos mais rápido a partir da linha de comando, rastreando seus diretórios mais usados com base em "frequência".

No início, a ferramenta aprende seus diretórios usados com mais frequência e, em seguida, usa um algoritmo baseado em "frequência" (com base em quão recentemente e com que frequência um diretório foi acessado) para classificar diretórios, tornando mais fácil navegar para certos diretórios digitando apenas um algumas letras de seu caminho. Não espere que o z.lua funcione imediatamente; levará um pouco de tempo para que ele crie um banco de dados de diretórios frequentes e recentes.

Embora existam outras ferramentas semelhantes por aí, o desenvolvedor afirma que z.lua é muito mais rápido. Por exemplo, z.lua deve ser 10 vezes mais rápido que fasd e autojump, e 3 vezes mais rápido que z.sh.

Além do mais, z.lua inclui dois algoritmos de correspondência. O algoritmo de correspondência padrão é semelhante ao usado por z.sh, no qual os caminhos devem corresponder a todas as regexes em ordem. Também existe um algoritmo de correspondência aprimorado, no qual as consultas devem corresponder ao caminho em ordem, como o método padrão, e a última consulta deve corresponder ao último segmento do caminho; se nenhuma correspondência for encontrada, a correspondência padrão será usada. Ambos são explicados em detalhes na z.lua página do projeto.

Recursos do z.lua:

  • 10 vezes mais rápido do que fasd e autojump, 3 vezes mais rápido do que z.sh.
  • Disponível para: bash, zsh, dash, sh, ash, ksh, busybox, Fish Shell, Power Shell e Windows cmd.
  • 2 algoritmos de correspondência de diretório.
  • Permitir a atualização do banco de dados apenas se $PWD alterado com $_ZL_ADD_ONCE definido para 1.
  • Seleção interativa permite que você escolha para onde ir antes de cd (quando houver várias correspondências encontradas, usando z -i exibe uma lista de diretórios correspondentes)
  • Integrado com fzf (opcional) para seleção e conclusão interativas.
  • Rapidamente volte para um diretório pai em vez de digitar cd ../../..
  • Experiência semelhante em diferentes shells e sistemas operacionais.
  • Compatível com Lua 5.1, 5.2 e 5.3 +

O z.lua também vem com algumas opções que permitem alterar o comando, excluir diretórios da correspondência e pode até importar dados do z.sh ou autojump.

z.lua example

Exemplo 1.

Digamos que você tenha um caminho longo como /a/b/c/foo/bar e deseja navegar até ele a partir da linha de comando. Com z.sh, você só precisa digitar isso para navegar diretamente para o diretório da barra:

Comandos para usar no terminal

z foo bar

Isso corresponde a foo/bar, mas não a bar/foo!

Exemplo 2.

Vamos dar uma olhada em um exemplo do mundo real do meu computador. Eu tenho este caminho em meu sistema: /home/logix/Stuff/Unity3d/unity2d_platformer/Assets/Art

O caminho é muito longo e demora um pouco para navegar até ele usando um terminal, mesmo com a conclusão do TAB.

Depois de navegar até esta pasta uma vez usando um terminal (para que z.lua possa rastreá-la), agora posso usar z.lua para ir direto para a pasta Art:

Comandos para usar no terminal

z art

O comando é muito curto porque não tenho nenhum outro diretório Art para o qual naveguei recentemente (na verdade, é a única pasta Art em meu sistema). Se eu tivesse várias pastas com o mesmo nome, poderia digitar o seguinte para navegar até esta pasta específica:

Comandos para usar no terminal

z assets art

Você pode ver muito mais exemplos de uso na página do projeto z.lua, incluindo como cd para o diretório de maior classificação, o diretório acessado mais recentemente, listar correspondências em vez de cd e muito mais.

Instale z.lua

Para usar z.lua, você precisará instalar o Lua:

  • Debian, Ubuntu, Linux Mint, elementaryOS e outras distribuições Linux baseadas em Debian ou Ubuntu:

Comandos para usar no terminal

sudo apt install lua5.2

  • Fedora:

Comandos para usar no terminal

sudo dnf install lua

Em outras distribuições Linux, você deve encontrar Lua nos repositórios.

Agora você pode baixar a versão mais recente do z.lua, extraí-la e usar as instruções de instalação para instalá-la em seu shell (Bash, Zsh, Fish, Power Shell, Windows cmd e assim por diante )

Por exemplo, se você estiver usando o Bash, extraia o arquivo de lançamento z.lua em uma pasta ~/.z.lua em seu sistema e adicione-o ao seu arquivo ~/.bashrc:

  • para usar o método de correspondência padrão:

Comandos para usar no terminal

eval "$(lua ~/.z.lua/z.lua --init bash)"

  • para usar o algoritmo de correspondência aprimorado:

Comandos para usar no terminal

eval "$(lua ~/.z.lua/z.lua --init bash enhanced once)"

Depois de salvar as alterações feitas em ~/.bashrc, abra um novo terminal ou forneça-o:

Comandos para usar no terminal

. ~/.bashrc

Agora você está pronto para usar z.lua, mas lembre-se de que ele deve criar um banco de dados para descobrir para qual diretório você deseja navegar.

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