OS X 上的 Python/editline:£ 符号似乎与 ed-prev-word 绑定
题
在 Mac OS X 上,我无法在 Python 交互式 shell 中输入英镑符号 (£)。
* Mac OS X 10.5.5
* Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)
* European keyboard (£ is shift-3)
当我在Python交互式shell中输入shift-3时,我似乎调用了前面的单词函数,即光标将移动到最后一个“单词”的开头(即空格分隔的项目)在该行中键入。当我回到 bash shell 时,输入 shift-3 只会产生一个 £,正如预期的那样。
这个版本的 Python 显然使用 editline 作为其交互式 shell,而不是 readline。我猜测默认的编辑行键绑定之一将shift-3(或我键入shift-3时看到的任何编辑行)绑定到ed-prev-word命令。
我在 ~/.editrc 文件中尝试了一些方法来删除此绑定,但它们没有任何效果:
bind -r £
bind -r \243
bind -r \156
另一个导致总线错误的情况是:
bind £ \243
有任何想法吗?
解决方案
这可能是编辑行问题;libedit 可能不接受 UTF-8 字符:
不隶属于 StackOverflow