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
有什么想法吗?
On Mac OS X I can’t enter a pound sterling sign (£) into the Python interactive shell.
* Mac OS X 10.5.5
* Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)
* European keyboard (£ is shift-3)
When I type shift-3 in the Python interactive shell, I seem to invoke the previous word function, i.e. the cursor will move to the start of the last “word” (i.e. space-delimited item) typed on the line. When I’m back in the bash shell, typing shift-3 just produces a £, as expected.
This version of Python apparently uses editline for its interactive shell, as opposed to readline. I’m guessing that one of the default editline key bindings binds shift-3 (or whatever editline sees when I type shift-3) to the ed-prev-word command.
I’ve tried a few things in my ~/.editrc file to remove this binding, and they don’t have any effect:
bind -r £
bind -r \243
bind -r \156
And another that causes a bus error:
bind £ \243
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这可能是编辑行问题; libedit 可能不接受 UTF-8 字符:
This may be an editline issue; libedit may not accept UTF-8 characters: