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.