Zsh faz isso desde que você ative o "sistema de conclusão de estilo novo" e ative as complete_in_word
option .
autoload -U compinit; compinit
setopt complete_in_word
Depois disso, você pode pressionar Tab em qualquer lugar de uma palavra, inclusive no começo, e você receberá propostas de conclusão para o meio da palavra (para o começo, se o cursor estiver em o começo da palavra). (Com algumas configurações mais sofisticadas, a conclusão também pode inserir coisas em outras partes da palavra.)
Outra opção no zsh é ativar o preenchimento de curinga com setopt glob_complete
. Por exemplo, digite *2tiff
e pressione Tab (com o cursor no final da palavra) para completar no início da palavra.
Existe uma limitação de que, na configuração padrão, pressionar a tecla Tab no início da linha de comando insere uma guia em vez de completá-la. Acho que essa limitação está em expand-or-complete
; se você ligar Tab para menu-complete
ou complete-word
depois é concluído no início do comando linha também. Com expand-or-complete
, você obtém a conclusão no início de uma palavra desde que não seja a primeira coisa que não é espaço em branco na linha de comando, por exemplo, em =2tiff
ou ;2tiff
.