2 missing pieces helped me solve this:
- interactive shell for
ipdb
on Windows is managed bypyreadline
pyreadline
options are determined bypyreadlineconfig.ini
Solution:
- Copy
pyreadlineconfig.ini
from<python-install>\Lib\site-packages\pyreadline\configuration
to%HOMEPATH%
- Uncomment
set_mode("vi")
line at end of file