为了增强我的常规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模块的预编译版本。

09-25 18:45