在Windows上使用Vi模式的Python shell
我知道在类Unix操作系统上,你可以在Python的命令行中使用Vi模式。例如,我在我的~/.inputrc
文件里有这么一行:
set editing-mode vi
这让我可以在Python命令行中使用Vi风格的编辑。
但是在Windows XP上使用Python的时候,这能实现吗?我是在python.org上直接下载的预编译Python版本。
我猜Windows版本可能不使用GNU Readline库,但如果我错了,我很乐意接受纠正。:)
3 个回答
0
我自己回答自己的问题,看来可以使用 PyReadline 这个库,配合 IPython,这样就能实现我在Linux上缺失的大部分Vi功能。不过我还是没弄明白怎么按 ESC
然后按 k
来浏览之前的命令历史。
2
cygwin 可以让你在“Windows XP电脑”上享受到很多类似Unix系统的好处(比如它有自己的Python版本,这样就能避免一些“标准Windows版本”中的限制)——快去试试吧!
4
安装 PyReadline
按照 PyReadline 的说明,设置好你的 pyreadlineconfig.ini
和 PYTHONSTARTUPFILE
文件。
然后在你的 pyreadlineconfig.ini
文件中添加以下内容:
set_mode("vi")
history_filename("~/.pythonhistory")
history_length(200)
历史记录的设置必须放在模式设置之后。
现在可以使用像 ESC
K
这样的命令来跳转到之前的命令了。