Primeiro, você pode preferir usar um dos pacotes preenchimento automático ou jedi .
Dito isso, hippie-expand funciona tentando expandir a palavra atual usando uma lista de funções, armazenadas na variável hippie-expand-try-functions-list (para exibir seu conteúdo, pressione C-h v hippie-expand-try-functions-list RET ). Por exemplo, a primeira função no valor padrão dessa variável tenta expandir um nome de arquivo. hippie-expand pede uma expansão para cada função, passando para a próxima quando uma função tiver esgotado todas as suas possíveis conclusões. (Ou seja, você pode continuar pressionando [f2] para obter mais expansões.)
Quando você expande o nome de uma variável que já aparece no seu código python, hippie-expand está usando a função try-expand-dabbrev , que procura a palavra atual no buffer atual. Outra função nessa lista, try-expand-dabbrev-all-buffers , procura a palavra atual em todos os buffers abertos. Assim, uma solução rápida (e suja) para o seu problema seria criar um arquivo com todas as palavras-chave e built-ins ( enumerate é um built-in), e manter esse arquivo aberto no emacs. Isto é, se você insistir em usar hippie-expand ; claramente os dois pacotes que eu mencionei antes parecem soluções melhores se você puder fazê-los funcionar.