Inteligente completo de .c e .o

1

Eu gostaria que o bash concluísse meu comando vim myPr Tab para vim myProgramName.c mesmo se a pasta atual também contivesse um arquivo chamado myProgramName.o , já que 99.9% da vez que eu quero abrir a fonte com o vim não o executável.

Ao executar isto funciona muito bem: ./myP Tab é completado para ./myProgramName.o . Eu preferiria que isso permanecesse do jeito que é.

Como posso conseguir concluir automaticamente para *.c , exceto quando estou executando com ./… ?

    
por LastSecondsToLive 15.03.2016 / 17:28

1 resposta

1

Isso é definido no script bash_completion . Às vezes você pode encontrar isso em /etc e às vezes em /usr/share/bash-completion .

O meu tem essa linha:

_install_xspec '*.@([ao]|so|so.!(conf|*/*)|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)' vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate kwrite

Faz exatamente o que você quer.

Eu imagino que sua instalação é muito antiga. Você pode tentar atualizar "bash-completion" ou editar esse arquivo por conta própria.

Como alternativa, você pode ter seu .bashrc editando a variável _xspecs manualmente - o bash-completion não fornece uma interface para fazer isso para você.

Edit: Acontece que o OP não estava usando o pacote bash-completion (então apenas usando o preenchimento de nome de arquivo "dumb" embutido). Nesse caso, instalá-lo e seguir as instruções de configuração é suficiente. No Linux, este pacote normalmente é instalado por padrão e nenhuma configuração do usuário é necessária.

    
por 15.03.2016 / 18:22