Many of us GIS profressionals rely on python to get the job done in a faster, and more fun way. I myself do some developing of arcgis tools in python for various organizations/individuals/ and the general public.
Several months ago I learned about ipython while watching pycon2012 videos. I tried it out and I have been using it all the time in linux environments and on pythonanywhere.com. It is great, does tab completion, you can type ?anything and get help on 'anything'.
It occured to me that using this with ArcPy would be great. It would allow me to test and develop using ESRI's arcpy environment quicker and easier than the built in console.
After a little trail and error, I got ipython working with arcpy.
Install the Windows 32bit ipython package. You will have to run this as admin and it should autodetect the arcgis python environment.
Check out this page. You will need to get pyreadline for the tab completion to work (highly recommend it).
You also need to install setuptools from here. Make sure you get the correct python version. ArcGIS 10.0 uses Python 2.6, while 10.1 will be 2.7 I believe.
Once you get all that finished and instaled, open up cmd.exe or console and type the following
python.exe Scripts\ipython-script.py -pylab
Now you should be in the ipython shell. Here is a photo of me using tab autocomplete to find the ListDataset function.......