在Python readline(os x)中设置编辑模式vi`

时间:2013-04-18 21:47:18

标签: python osx-lion vi readline

试图加强我的常规python控制台,我想添加vi风格的编辑。

第一件事:如果我理解的话,python不会阅读~/.inputrc

然后,我尝试(通过~/.pythonrc.py):

import readline
readline.parse_and_bind('set editing-mode vi')

什么都没发生。我错过了什么?或者我的终端有问题吗?

我在OS X上使用Terminal.app

(试过rlwrap但没有成功)

1 个答案:

答案 0 :(得分:3)

Apple提供的系统中的readline模块OS X中的Pythons不与GNU readline库链接,因为Apple不向OS X发送GNU readline(可能是因为许可证问题)。它们与BSD editlinelibedit链接,后者读取~/.editrc并支持一组不同的编辑命令。有关详细信息,请参阅man 5 editrc。记录here后,您可以检查libedit中的文字readline.__doc__,以确定是否正在使用GNU readline或BSD editline。如果你真的需要GNU readline,你可以安装readline package from PyPI,它具有与GNU readline链接的Python readline模块的预编译版本。