A conclusão é chamada quando você digita um dos dois caracteres de controle. A função de conclusão usa a cadeia de caracteres ...

A conclusão é chamada quando você digita um dos dois caracteres de controle.
A função de conclusão usa a cadeia de caracteres do caminho à esquerda do
cursor, acrescenta um caractere curinga a ela, se já não existir um, e cria
uma lista de caminhos correspondentes. Em seguida, exibe o primeiro caminho
correspondente. Se nenhum caminho corresponder, ela emite um aviso e não
altera nada. Depois, o pressionamento repetido do mesmo caractere de controle
percorrerá a lista de caminhos correspondentes. O pressionamento da tecla
Shift com o caractere de controle permite percorrer a lista de trás para a
frente. Se você fizer qualquer edição na linha e pressionar o caractere de
controle novamente, a lista salva de caminhos correspondentes é descartada e
uma nova é gerada. O mesmo ocorre se você alternar entre a conclusão de nome
de arquivo e de pasta. A única diferença entre os dois caracteres de controle
é que o caractere de conclusão de arquivo corresponde a ambos os nomes de
arquivo e de pasta, enquanto que o caractere de conclusão de pasta somente
corresponde a nomes de pastas. Se a conclusão de arquivo for usada em qualquer
um dos comandos de pasta internos (CD, MD ou RD), a conclusão de pasta será
usada.

O código de conclusão trata corretamente de nomes de arquivos que contêm
espaços ou outros caracteres especiais colocando aspas em volta do caminho
correspondente. Além disso, se você retornar com o cursor e chamar a conclusão
a partir de uma linha, o texto à direita do cursor no ponto em que a conclusão
foi chamada será descartado.

Os caracteres especiais que exigem aspas são:
     
     ()[]{}^=;!%'+,`~