No zsh, você pode usar o operador **
para fazer isso:
vim **/myfile.js
Em seguida, pressione Tab e o zsh irá procurar recursivamente o arquivo myfile.js
.
Eu tenho um projeto com uma estrutura de pastas profundamente aninhada. Na maioria das vezes eu sei o nome do arquivo com o qual quero trabalhar, mas o caminho da pasta é muito longo / complicado de ser digitado quando quero editá-lo, como:
vim folder/is/deep/down/there/myfile.js
Existe uma maneira de fazer com que o shell preencha o caminho automaticamente para mim se o nome do arquivo for único, com algo como:
vim *myfile.js
pressione a aba
vim folder/is/deep/down/there/myfile.js
Eu principalmente uso bash, mas estou bem com zsh se puder resolver o problema.
No Bash 4 e superior, você também pode usar o operador **
para globbing (para buscar nomes de arquivos) e para conclusão de tabulação (de forma semelhante a a resposta zsh de Heptite ).
Não tenho conhecimento de quando as conclusões da guia para **
foram adicionadas ao Bash (provavelmente 4.0), ou mesmo se forem padrão, mas elas estão funcionando para mim em 4.3.11 (no Lubuntu). Eles parecem estar ativados por padrão.
No entanto, o comportamento de **
para globbing não é ativado por padrão e exige que você defina a opção globstar
usando shopt
. Isto é, execute shopt -s globstar
em algum lugar antes de tentar usar **
em um padrão de globbing (provavelmente em .bashrc
). Vale a pena ressaltar que a ativação de globstar
pode interferir na conclusão da tabulação quando houver várias correspondências. Eu descobri isso em um teste rápido.
Tags bash zsh shell autocomplete