让python在交互模式下支持tab completion

本人使用的是mac os x 10.10.5版本,shell是zsh。

zsh的自定义配置在~/.oh-my-zsh/custom/my.zsh中。

首先在~/.oh-my-zsh/custom/my.zsh中配置如下:

1
export PYTHONSTARTUP=$HOME/.pythonrc.py

Note:如果你的zsh没有自定义配置文件,你可以直接在~/.zshrc配置。

然后在个人主目录下新建一个~/.pythonrc.pyz文件:

1
2
3
4
5
6
7
try:
import readline
except ImportError:
print("Module readline not available.")
else:
import rlcompleter
readline.parse_and_bind("tab: complete")

新开一个ternimal窗口,让以上配置生效即可。

效果如下:

这样练习起来就方便很多了!