読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Pythonの対話モードで補完とヒストリ置換してみた

Python

前にやったかもしれないけど忘れてるのでメモ。(設定は後述)

  • Python2.5.2
  • MacOS10.4
補完

対話モードでTABキー押すと補完できる

>>> a='spam'
>>> a.        #ここでTABキー
a.__add__           a.__reduce_ex__     a.join
a.__class__         a.__repr__          a.ljust
:
略
:
a.__new__           a.istitle           a.zfill
a.__reduce__        a.isupper  
>>> 

たくさん出てくるから、簡単に

>>> a.__a

ここでTABキー押すと

>>> a.__add__

補完される

ヒストリ置換

前に入力したものを使いたいとき。

ヒストリを移動

C-pで

>>> a.__add__

前のコマンド出てくる
C-nで次に。
行ったり来たりできる。

ヒストリを検索

C-r でインクリメンタルな逆方向検索。
対話モードで入力した「a='spam'」とか出してみる
C-r して sp までいれると

(reverse-i-search)`': a='spam'

でリターンキー

>>> a='spam'

でてくる。(C-sでその逆。あまり使わないけど)

設定

http://www.python.jp/doc/release/tut/に載ってたもの、だいたいそのまま。

.pystartup

新規ファイル ~/.pystartup を作成して以下書き込む。

import atexit
import os
import readline
import rlcompleter

historyPath = os.path.expanduser("~/.pyhistory")

def save_history(historyPath=historyPath):
    import readline
    readline.write_history_file(historyPath)

if os.path.exists(historyPath):
    readline.read_history_file(historyPath)

atexit.register(save_history)
readline.parse_and_bind('Tab: complete')
del os, atexit, readline, rlcompleter, save_history, historyPath

.bash_profile とかに

export PYTHONSTARTUP=$HOME/.pystartup

と書く。

ターミナルで動作確認。(python起動して、前述の補完でやった「a='spam'」で「a. タブキー」とか)
(゚Д゚)ウマー

メモ