Esta é a configuração do completer que estou usando:
zstyle ':completion:*' completer _complete _list _expand _oldlist _ignored _match _correct _approximate _prefix
A configuração substituta é o padrão, ou seja, 1.
Vendo a resposta e as indicações de Chris na direção certa, percebi que isso deve ter algo a ver com minha configuração.
Eu comecei a bisbilhotar com a ordem do completer e a configuração substituta, nenhuma das quais mudou o comportamento. Comparando as configurações, usando o arquivo de configuração mínimo fornecido por Chris, com o meu próprio, reduzi o problema ao meu arquivo bindkey e, a partir daí, até bindkey -v . Isso tem o efeito colateral de definir ^I para expand-or-complete , o que, por algum motivo, os botchs desejam a expansão.
Como desejo continuar usando os mapas de teclado viins e vicmd , a solução para mim foi alterar o comportamento das guias para complete-word :
bindkey -M viins "\CI" complete-word
bindkey -M vicmd "\CI" complete-word
tl; dr
Se você estiver usando viins ou viicmd como mapa de teclado, lembre-se de alterar ^I para complete-word :
bindkey -M viins "\CI" complete-word
bindkey -M vicmd "\CI" complete-word