from __future__ import division, with_statement # stuff i usually end up importing anyway import os, sys, functional, operator, itertools, re, time from datetime import datetime, timedelta from pprint import pprint def hook(): import codecs, readline, rlcompleter, pydoc sys.stdout = codecs.getwriter('utf-8')(sys.stdout) sys.stderr = codecs.getwriter('utf-8')(sys.stderr) pydoc.pager = lambda text: pydoc.pipepager(text, 'less') complete = rlcompleter.Completer().complete def hack(text, state): if text: return complete(text, state) elif state: return None return ' ' # tab with no context readline.set_completer(hack) readline.parse_and_bind('tab: complete') sys.ps1 = '\1\033[1m\2>>> \1\033[m\2' sys.ps2 = '\1\033[1m\2 > \1\033[m\2' hook() del hook