为了增强我的常规python控制台,我想添加vi风格的编辑。
第一件事:python
如果我理解的好的话,就不是在阅读。
然后,我尝试(通过~/.inputrc
):
import readline
readline.parse_and_bind('set editing-mode vi')
什么都没发生。我错过什么了吗还是我的终端有问题?
我在OSX上使用terminal.app
(尝试了rlwrap但没有成功)
最佳答案
苹果提供的os x系统pythons中的readline
模块没有与gnureadline
库链接,因为苹果没有将gnureadline
与os x一起发布(可能是因为许可证问题)。它们确实与bsdeditline
库链接,bsdlibedit
库读取~/.editrc
并支持一组不同的编辑命令。详见man 5 editrc
。如here所述,您可以检查libedit
中的文本readline.__doc__
,以确定GNUreadline
或BSDeditline
是否正在使用如果您真的需要gnureadline
,您可以安装readline
package from PyPI,它有一个与gnureadline
链接的pythonreadline
模块的预编译版本。