Enable python statement readline completion and readline history for interactive Python .
authorOleksandr Gavenko <gavenkoa@gmail.com>
Fri, 14 Oct 2011 15:24:08 +0300
changeset 226 97139da73273
parent 225 29a3658af2d3
child 227 d2bb2c3da51b
Enable python statement readline completion and readline history for interactive Python .
.bashrc
.pystartup
Makefile
--- a/.bashrc	Fri Oct 14 14:57:41 2011 +0300
+++ b/.bashrc	Fri Oct 14 15:24:08 2011 +0300
@@ -154,6 +154,8 @@
   export INFOPATH=$INFOPATH:~/usr/share/info:
 fi
 
+export PYTHONSTARTUP=~/.pystartup
+
 ################################################################
 # Key binding.
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.pystartup	Fri Oct 14 15:24:08 2011 +0300
@@ -0,0 +1,25 @@
+# -*- mode: python -*-
+# Add auto-completion and a stored history file of commands to your Python
+# interactive interpreter. Requires Python 2.0+, readline. Autocomplete is
+# bound to the Esc key by default (you can change it - see readline docs).
+#
+# Store the file in ~/.pystartup, and set an environment variable to point
+# to it:  "export PYTHONSTARTUP=~/.pystartup" in bash.
+
+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)
+del os, atexit, readline, rlcompleter, save_history, historyPath
+
--- a/Makefile	Fri Oct 14 14:57:41 2011 +0300
+++ b/Makefile	Fri Oct 14 15:24:08 2011 +0300
@@ -27,7 +27,7 @@
 
 OVERRIDDEN_ITEMS = \
     .inputrc .minttyrc .Xdefaults .xinitrc .xserverrc .screenrc .dircolors \
-    .bashrc .bash_completion .zshrc .vimrc .ssh \
+    .bashrc .bash_completion .zshrc .vimrc .ssh .pystartup \
     .mailsign .muttrc .tidy \
     .dictrc \
     .hgrc .hgignore .bazaar .gitconfig .gitignore .cvs \