Python / linha de edição no OS X: £ sinal parece ser obrigado a ed-anterior palavra
Pergunta
No Mac OS X não pode inserir um sinal de libra esterlina (£) para o shell interativo Python.
* Mac OS X 10.5.5
* Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)
* European keyboard (£ is shift-3)
Quando eu digito shift-3 no shell interativo do Python, parece-me invocar a função de palavra anterior, ou seja, o cursor move-se para o início da última “palavra” (ou seja, item de delimitado por espaço) digitado na linha. Quando eu estou de volta no shell bash, digitação shift-3 apenas produz uma £, como esperado.
Esta versão do Python, aparentemente, usa editline por sua shell interativo, em oposição a readline. Eu estou supondo que uma das principais ligações editline padrão liga shift-3 (ou o que editline vê quando digito shift-3) para o comando ed-prev-palavra.
Eu tentei algumas coisas no meu arquivo ~ / .editrc para remover essa ligação, e eles não têm qualquer efeito:
-
bind -r £
-
bind -r \243
-
bind -r \156
E outro que faz com que um erro de bus:
-
bind £ \243
Todas as idéias?
Solução
Isto pode ser um problema editline; libedit não pode aceitar caracteres UTF-8: