Como posso fazer o autocompletar automaticamente o início de um caminho de arquivo?

0

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.

    
por canerbalci 03.02.2015 / 20:39

2 respostas

1

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 .

    
por 03.02.2015 / 22:06
0

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.

    
por 08.07.2015 / 04:26