Reputation: 32399
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. :)
Upvotes: 6
Views: 1872
Reputation: 2602
Install PyReadline
Setup your pyreadlineconfig.ini
and PYTHONSTARTUPFILE
files as per the PyReadline instructions.
Then add the following to your pyreadlineconfig.ini
file:
set_mode("vi")
history_filename("~/.pythonhistory")
history_length(200)
The history settings must be after the mode setting.
Commands such as ESC
K
to jump to the previous command now work.
Upvotes: 4
Reputation: 32399
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 then k
to scroll through the previous command history.
Upvotes: 0
Reputation: 882083
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!
Upvotes: 2