Standard python interpreter has a vi command mode?
Ctrl-Alt-J switches from Emacs mode to Vi mode in readline programs.
Alternatively add "set editing-mode vi" to your ~/.inputrc
This kind of all depends on a few things.
First of all, the python shell uses readline, and as such, your ~/.inputrc
is important here. That's the same with psql the PostgreSQL command-line interpreter and mysql the MySQL shell. All of those can be configured to use vi-style command bindings, with history etc.
<ESC>
will put you into vi mode at the python shell once you've got your editing mode set to vi
You may need the following definition in your ~/.inputrc
set editing-mode vi
OSX info
OSX uses libedit which uses ~/.editrc. You can man editrc for more information.
For example, to mimick a popular key combination which searches in your history, you can add the following to your .editrc
bind "^R" em-inc-search-prev