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:
$PWD
alterado com $_ZL_ADD_ONCE
definido para 1
.cd
(quando houver várias correspondências encontradas, usando z -i
exibe uma lista de diretórios correspondentes)cd ../../..
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.
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:
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
:
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:
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.
Para usar z.lua, você precisará instalar o Lua:
sudo apt install lua5.2
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
:
eval "$(lua ~/.z.lua/z.lua --init bash)"
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:
. ~/.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.
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
z.lua - A Faster Way Of Changing Directories (cd Command That Learns As You Use It)