在OS X上使用Python/editline: £符号似乎绑定到ed-prev-word

0 投票
1 回答
433 浏览
提问于 2025-04-11 09:27

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

撰写回答