$ bind -p | grep 'complete$'
"\C-i": complete
"\M-\e": complete
Isso mostra que a ligação de teclas padrão de Meta+Esc(e Ctrl+i) no modo de edição da linha de comando do Emacs é a função Readline complete. A Metachave geralmente está Escem teclados sem uma Metachave explícita . A documentação do Readline para esta função diz
Tente executar a conclusão do texto antes do ponto. A conclusão real realizada é específica do aplicativo. Bash, por exemplo, tenta concluir tratando o texto como uma variável (se o texto começa com $), nome de usuário (se o texto começa com
~), nome do host (se o texto começa com @) ou comando (incluindo aliases e funções) por sua vez. Se nada disso produzir uma correspondência, a conclusão do nome do arquivo será tentada. O Gdb, por outro lado, permite a conclusão das funções e variáveis do programa e apenas tenta a conclusão do nome do arquivo em determinadas circunstâncias.
Em relação ao seu comentário à resposta de Anthon : Não, pressionar Escduas vezes não é o mesmo que pressionar Tabgeralmente (a menos que esteja em um programa que mapeie os dois para a mesma ação, como o Readline faz por padrão). No entanto, Ctrl+i é o mesmo que Tab, assim como Ctrl+[é o mesmo que Esc. Isso significa que você pode concluir com Ctrl+[ Ctrl+[in bashse desejar, desde que double Escesteja vinculado à completefunção Readline . Isso é útil se você estiver trabalhando em um terminal VT220, por exemplo, sem a tecla Escape:

Escduas vezes (ou\M-\e) não é o mesmo queTabno bash, se os dois fazem a conclusão?