给pythonidle加上自动补全和历史功能

许多时候,我们使用python,并不用写一个程序,一些不复杂的任务,我更喜欢在 idle(也就是交互式提示模式)下输入几行代码完成。然而,在这个模式下编辑代码,也有不够便利的地方,最主要的就是,不能用tab自动补全,不能记忆 上一次输入的命令(没办法,谁让我们在shell下习惯了呢)。
这时候,我们可以直接使用python启动脚本,解决这个问题。

启动脚本的程序非常简单,这里不多说明,只给出代码:

import readline
import rlcompleter
import atexit
import os
# tab autocomplete
readline.parse_and_bind(‘tab: complete’)
# history file
histfile = os.path.join(os.environ[‘home’], ‘.pythonhistory’)
try:
readline.read_history_file(histfile)
except ioerror:
pass
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter

完成之后,我们把它保存为.pythonstartup,存放在自己的目录下(譬如/home/yurii),再将pythonstartup变量指向刚才放的地址,就可以了。最省事的办法是在bashrc中添加这样一行:

代码如下:

export pythonstartup=/home/yurii/.pythonstartup

这样,不但增加了tab的自动补全功能,而且重新启动idle时,通过上下键,还能翻到上次输入的命令,非常方便。

Posted in 未分类

发表评论