Bash: menu completo apenas para alguns jogos

6

Com o preenchimento automático de Bash, existe uma maneira de percorrer as partidas usando o menu completo somente se houver 1-2 opções, e usar a listagem completa de outra forma?

Exemplo

home directory contém Área de Trabalho, Documentos, Downloads, Projetos e Público

~$ cd D<tab><tab> # lists matches
Desktop    Documents    Downloads
~$ cd De<tab> # completes Desktop

~$ cd P<tab> # completes Projects
~$ cd Projects<tab> # completes Public

O primeiro é o comportamento complete , o segundo é menu-complete . Eu quero que ele escolha a segunda opção se houver apenas 1-2 correspondências, a primeira se houver 3 ou mais.

    
por AnC 31.07.2009 / 21:29

2 respostas

2

Parece que não tem jeito.

Eu sei que você especificamente pediu o bash, mas no caso de você querer dar uma chance ao zsh, ele usa o preenchimento normal da lista na primeira vez que pressionar a tecla tab, e percorre os valores possíveis na segunda impressora. Eu acho que é muito conveniente, e mudar é um acéfalo, pois o zsh é muito parecido com o bash.

    
por 09.08.2009 / 22:57
1

Clique duas vezes? Ou você está tentando obter algo como um comando, então arg1 ou arg2 listados após o comando?

RESPOSTA :

Você desejará editar seu / etc / inputrc e adicionar a seguinte linha em algum lugar:

"\C-i": menu-complete 

Em seguida, execute este comando para definir suas alterações imediatamente:

#: bind -f / etc / inputrc

Infelizmente, não vejo uma maneira de limitá-lo pelo número de opções, mas é assim que você pode alterá-lo alternadamente ao pressionar a tecla 'tab'

Referência: independentchaos.com

    
por 10.08.2009 / 07:44