Warning
This documentation covers a development version of IPython. The development version may differ significantly from the latest stable release.
Important
This documentation covers IPython versions 6.0 and higher. Beginning with version 6.0, IPython stopped supporting compatibility with Python versions lower than 3.3 including all versions of Python 2.7.
If you are looking for an IPython version compatible with Python 2.7, please use the IPython 5.x LTS release and refer to its documentation (LTS is the long term support release).
Development version¶
This document describes in-flight development work.
Warning
Please do not edit this file by hand (doing so will likely cause merge
conflicts for other Pull Requests). Instead, create a new file in the
docs/source/whatsnew/pr
folder
Released …. …., 2019
Need to be updated:
Autosuggestion is a very useful feature available in fish, zsh, and prompt-toolkit.
Ptpython allows users to enable this feature in ptpython/config.py.
This feature allows users to accept autosuggestions with ctrl e, ctrl f, or right arrow as described below.
Start ipython

Run
print("hello")

Press p to see the autosuggestion

Press ctrl f, or ctrl e, or right arrow to accept the suggestion

You can also complete word by word:
Run
def say_hello(): print("hello")

Press d to see the autosuggestion

Press alt f to accept the first word of the suggestion

Importantly, this feature does not interfere with tab completion:
After running
def say_hello(): print("hello")
, press d

Press Tab to start tab completion

3A. Press Tab again to select the first option

3B. Press alt f to accept to accept the first word of the suggestion

3C. Press ctrl f or ctrl e to accept the entire suggestion

To install a version of ipython with autosuggestions enabled, run:
pip install git+https://github.com/mskar/ipython@auto_suggest
Currently, autosuggestions are only shown in the emacs or vi insert editing modes:
The ctrl e, ctrl f, and alt f shortcuts work by default in emacs mode.
To use these shortcuts in vi insert mode, you will have to create custom keybindings in your config.py.
As a reminder, IPython master has diverged from the 7.x branch, thus master may have more feature and API changes.