6

我知道您可以在类 Unix 操作系统上以 Vi 模式使用 Python shell。例如,我在我的中有这一行~/.inputrc

set editing-mode vi

这让我可以在 Python shell 中使用 Vi 风格的编辑。

但是当在 Windows XP 机器上使用 Python 时,这可以工作吗?我正在使用直接从 python.org 下载的用于 Windows 的预构建 Python。

我猜测 Windows 版本不使用 GNU Readline 库,但我很高兴被证明是错误的。:)

4

3 回答 3

4

安装PyReadline

根据 PyReadline 说明设置您的pyreadlineconfig.ini和文件。PYTHONSTARTUPFILE

然后将以下内容添加到您的pyreadlineconfig.ini文件中:

set_mode("vi")
history_filename("~/.pythonhistory")
history_length(200)

历史设置必须在模式设置之后。

诸如ESC K跳转到上一个命令的命令现在可以使用。

于 2012-03-18T14:22:31.943 回答
2

cygwin可以在您的“Windows XP 机器”上为您提供许多 Unix-y 优势(除其他外,使用它自己的 Python 构建——避免“标准 Windows 构建”的一些仅限 Windows 的限制)——试试吧!

于 2009-12-03T04:55:37.847 回答
0

回答我自己的问题,看起来您可以将PyReadline库与IPython结合使用来获得我在 Linux 上错过的大部分 Vi 功能。我还没有弄清楚如何点击ESC然后k滚动浏览以前的命令历史记录。

于 2010-11-29T15:58:01.723 回答