タブによる補完機能

まず補完機能を試してみましょう。なお、readlineライブラリがないWindowsではこの機能が使えません。

とりあえずtimeモジュールをインポートしてみます。その後で現在時刻を表示させることにします。


In [1]: import time

で、


In [2]: print t

としてタブキーを押してみると、


In [2]: print t
time try tuple type

というように候補がでます。このまま「i」を押してタブキーを押すと、


In [2]: print time

自動的に補完されました。このまま「.」を押してタブキーを押すとtimeモジュールの属性・ メソッドの候補が表示されます。


In [2]: print time.
time.__class__         time.__name__          time.altzone           time.sleep
time.__delattr__       time.__new__           time.asctime           time.strftime
time.__dict__          time.__reduce__        time.clock             time.strptime
time.__doc__           time.__reduce_ex__     time.ctime             time.struct_time
time.__file__          time.__repr__          time.daylight          time.time
time.__getattribute__  time.__setattr__       time.gmtime            time.timezone
time.__hash__          time.__str__           time.localtime         time.tzname
time.__init__          time.accept2dyear      time.mktime            time.tzset

このようにタブキーを使って、現在存在するオブジェクトを探索することができます。 また、後述するIPythonのエイリアス機能で設定したエイリアス名でも補完機能が効きます。

なお、タブキーで補完機能が効くため、ifやforの時にインデントが使えなくなります。 そのためipythonは自動的にインデントする機能があります。 設定ファイルipythonrcの「autoindent 0」を「autoindent 1」にしておいてください。 また、autoindent設定でコメントアウトされている


$if Python
"\M-i": "    "
"\m-u": "\d\d\d\d"
$endif

を有効にすると、M-i(Escキーを押しながらiを押す)と手動インデント、M-uで手動のインデント取消が有効になります。

これらで作られるインデントはタブではなく4つの空白でできています。 コピー&ペーストやファイル出力の際にはそのことを留意してください。