在 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 字符:

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top