Salto rápido para o diretório do shell

Salto rápido para o diretório do shell

Editores de texto como vim e emacs têm plug-ins como ace jump, avy, que permitem que você pressione um caractere, então ele destacará cada instância desse caractere com um atalho de teclado temporário, então você pode pressionar o atalho de teclado para pular diretamente para ele

Gostaria de saber se existe algo assim para shells (por exemplo, bash) navegar rapidamente para um diretório específico sem precisar cdpassar por diretórios? Talvez algo que liste diretórios com uma certa profundidade, espere por um caractere de entrada, destaque instâncias de caracteres com uma sequência de teclas e cdentre nele quando a sequência for pressionada?

Se algo assim ainda não existisse, quão fácil seria criá-lo?

Responder1

fzffaz isso. É um auxiliar difuso de conclusão/seleção de arquivo. Seu uso básico é selecionar arquivos de uma lista grande (por exemplo, find . -type f | fzf > selected).

Depois de instalá-lo e carregá-lo em seu shell, você pode pressionar AltCpara abrir uma janela na qual você pode digitar uma string difusa para localizar diretórios. Quando você seleciona um e pressiona enter, o fzf irá cdpara esse diretório.

Para preencher automaticamente os nomes dos arquivos da mesma maneira, você pode pressionar CtrlT. Para pesquisar o histórico, pressione CtrlR.

Responder2

Talvez não seja exatamente o que você quer, mas acho que vale a pena tentarWCD. Ele constrói um "banco de dados" (um único arquivo de texto) que armazena a lista de diretórios. O wcd foocomando mostra uma lista dos diretórios que contém fooe você pode escolher um deles.

Outra opção semelhante ésalto automático.

Responder3

Existem vários shells e extensões de shell que suportampreenchimento automático de caminho parcialepeixeé um deles

Por exemplo, cd /v/l/fsck Tabirá converter o caminho para /var/log/fsck/. cd /u/s/appl Tabexpandirá o caminho para/usr/share/applications/

Algumas outras alternativas:

Veja também

informação relacionada