arquivos somente VIM, somente diretórios cd

1

Ao usar o Tab para conclusão no prompt do shell Bash, existe alguma maneira de configurá-lo para completar apenas os arquivos para o comando vim e apenas diretórios para o comando cd ? Em diretórios grandes com muitos arquivos e subdiretórios, o deve reduzir pela metade a quantidade de correções a serem feitas ao concluir.

Observe que a mudança para um shell diferente é impraticável, mas eu ainda estaria interessado em ouvir soluções que não sejam do Bash se não existir uma solução do Bash.

    
por dotancohen 29.11.2012 / 13:16

3 respostas

3

is there any way to configure it to complete only files for the command vim?

Pode haver, mas tenha cuidado com o que você deseja. Isso tornaria impossível ter conclusão de tabulação para arquivos em subdiretórios, assim como não expandirá para diretórios com arquivos também.

and [ is there any way to configure it to complete ] only directories for the command cd?

Sim, esse comportamento é instalado por padrão no Ubuntu 12.04 e pode haver outros sistemas operacionais também. Se você não tiver essa sorte, tente essa resposta em Superuser.com.

    
por 29.11.2012 / 13:26
4

Como mencionado, instalar (e possivelmente ativar) bash-completion é o método mais fácil (ou pelo menos mais funcional) ...

No entanto, esse comando também fará isso: (Coloque em ~/.bashrc e / ou ~/.bash_profile ou algum lugar para executá-lo toda vez que abrir um console)

complete -d cd
complete -f vim

Veja a man page de bash e help complete para mais informações / opções.

    
por 29.11.2012 / 13:38
1

Você tem o pacote bash-completion instalado?

O preenchimento automático com vim também selecionará diretórios, já que os diretórios quase sempre contêm arquivos neles. Você também pode abrir um diretório com o vim e depois percorrer a árvore de diretórios dentro do vim.

No meu sistema, o autocompletar do bash para cd apenas lista diretórios, então é possível, e é o que acontece por padrão em todos os meus sistemas ...

    
por 29.11.2012 / 13:26