在OS X上使用Python/editline: £符号似乎绑定到ed-prev-word
在Mac OS X上,我无法在Python交互式命令行中输入英镑符号 (£)。
* Mac OS X 10.5.5
* Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)
* European keyboard (£ is shift-3)
当我在Python交互式命令行中按下shift-3时,似乎触发了一个“上一个单词”的功能,也就是说,光标会跳到当前行上一个“单词”的开头(也就是以空格分隔的项目)。而当我回到bash命令行时,按shift-3就能正常显示£,这正是我期待的结果。
这个版本的Python显然使用的是editline作为它的交互式命令行,而不是readline。我猜测,editline的某个默认键位绑定把shift-3(或者editline识别到的shift-3)绑定到了ed-prev-word这个命令上。
我在我的~/.editrc文件中尝试了一些方法来去掉这个绑定,但都没有效果:
bind -r £
bind -r \243
bind -r \156
还有一个命令会导致错误:
bind £ \243
有没有什么好的建议呢?
1 个回答
1
这可能是一个编辑行的问题;libedit 可能不支持 UTF-8 字符: