Você quer:
inserir-conclusões
ALT* para 'inserir todas as conclusões'
Com isso, um diretório contendo o nome de arquivos 'aa ab ac ad'
ls a*
seguido por alt + *
seria concluído parals aa ab ac ad
Entrada da página de manual na ligação:
conclusões de inserção (M- *)
Inserir todas as conclusões do texto antes do ponto que teria sido gerado por possíveis conclusões.
glob-expand-word
Em alguns sistemas, o acima não funcionará com caracteres curinga, o seguinte funciona nesses sistemas para mim:
ctrlx, *(uma combinação de dois tempos)
Exemplo: eu preenchi um diretório com:
touch {a,b,c,d,e,f}{1,2,3,4,5,6,7,8,9,0}00{a,b,c,d,f,e}
Em seguida, ls *100*
segui por ctrl + x, *
, que transforma minha linha de leitura em:
ls a100a a100b a100c a100d a100e a100f b100a b100b b100c b100d b100e b100f c100a c100b c100c c100d c100e c100f d100a d100b d100c d100d d100e d100f e100a e100b e100c e100d e100e e100f f100a f100b f100c f100d f100e f100f
Entrada da página de manual para ligação:
palavra de expansão global (Cx *)
A palavra antes do ponto é tratada como um padrão para a expansão do nome do caminho e a lista de nomes de arquivos correspondentes é inserida, substituindo a palavra. Se um argumento numérico for fornecido, um '*' será anexado antes da expansão do nome do caminho.
Página do Homem
touch aa ab ac ad
e digitar,ls a
seguido de,alt+*
fornece a lista, mas não ols a*
faz. Os curingas são o ponto da questão.GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
eGNU bash, version 4.2.0(1)-release (x86_64--netbsd)
nãoGNU bash, version 4.2.45(2)-release (i386-apple-darwin12.2.0)
. E por trabalhado, quero dizer, arquivado no texto. Vou verificar meus arquivos conf para ver se tenho algo extra.GNU bash, version 4.2.37(1)-release (arm-unknown-linux-gnueabihf)
(raspbian)Tente adicionar isso ao ~ / .inputrc:
show-all-if-ambiguous faz pressionando tab uma vez (em vez de duas vezes) listar todas as conclusões. Também faz com que a primeira guia pressione insira prefixos compartilhados de expressões glob.
glob-complete-word (\ eg) também completaria
*0
(sem*
no final) para1.0.
. Também é concluído, por exemplo,/System/Library/Launch*/*Finde
para/System/Library/LaunchAgents/com.apple.Finder.plist
.Se você quiser converter
*
para1.0.1 1.0.2
no exemplo acima, use um insert-completação (\ e *) ou glob-expandir-palavra (\ Cx *).fonte
Esse problema é causado por erros no pacote "bash-conclusão".
Quando o pacote não está instalado, o bash faz a conclusão padrão, este é um bom mecanismo de conclusão de nome de arquivo generalizado.
O pacote "bash-complete" deve observar o resto da linha e ser "inteligente" sobre as listas que ele gera. No entanto, não é possível duplicar a expansão "glob" com êxito.
Pessoalmente, acho que o pacote está se esforçando demais e acaba sendo utilizável apenas pelo "usuário mais burro".
Porém, antes de excluí-lo, convém verificar a parte superior do arquivo "/ usr / share / bash-complete / bash_completion" para obter adições úteis ao seu .bashrc para 'ajuste bruto' da conclusão do bash embutido.
BTW: Possui mais de cem erros registrados ... https://bugs.debian.org/cgi-bin/pkgreport.cgi?package=bash-completion
fonte