在 Windows 上以 Vi 模式使用 Python shell
我知道您可以在类 Unix 操作系统上以 Vi 模式使用 Python shell。例如,我的 ~/.inputrc
中有这一行:
set editing-mode vi
这让我可以在 Python shell 中使用 Vi 风格的编辑。
但是,当在 Windows XP 机器上使用 Python 时,这可以工作吗?我使用的是直接从 python.org 下载的适用于 Windows 的预构建 Python。
我猜测 Windows 版本不使用 GNU Readline 库,但我很高兴被证明是错误的。 :)
I know that you can use the Python shell in Vi mode on Unix-like operating systems. For example, I have this line in my ~/.inputrc
:
set editing-mode vi
This lets me use Vi-style editing inside the Python shell.
But can this be made to work when using Python on a Windows XP box? I'm using the pre-built Python for Windows downloaded directly from python.org.
I'm guessing that the Windows version does not use the GNU Readline library, but I'd be happy to be proven wrong. :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
安装 PyReadline
设置您的
pyreadlineconfig.ini
和PYTHONSTARTUPFILE< /code> 按照 PyReadline 说明文件。
然后将以下内容添加到您的
pyreadlineconfig.ini
文件中:历史设置必须位于模式设置之后。
现在可以使用
ESC
K
等命令跳转到上一个命令。Install PyReadline
Setup your
pyreadlineconfig.ini
andPYTHONSTARTUPFILE
files as per the PyReadline instructions.Then add the following to your
pyreadlineconfig.ini
file:The history settings must be after the mode setting.
Commands such as
ESC
K
to jump to the previous command now work.cygwin 可以为您的“Windows XP 盒子”提供许多 Unix-y 优势(使用它自己的 Python 构建,除其他事项外 - 避免“标准 Windows 版本”的一些仅限 Windows 的限制) - 尝试一下!
cygwin can give you many Unix-y advantages on your "Windows XP box" (using its own Python build, among other things -- avoiding some of the Windows-only limitations of the "standard Windows builds") -- try it out!
回答我自己的问题,看起来您可以将 PyReadline 库与 IPython 来获得我在 Linux 上怀念的大部分 Vi 功能。我仍然不知道如何按
ESC
然后按k
滚动浏览上一个命令历史记录。Answering my own question, it looks like you can use the PyReadline library in conjunction with IPython to get most of the Vi functionality I miss on Linux. I still haven't figured out how I can hit
ESC
and thenk
to scroll through the previous command history.