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. :)
The bash shell (again, via GNU Readline) is able to provide this functionality for us. In order to enable it, you run the command $ set -o vi.
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.
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!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With