| [See end for tips.] | 
 |  | 
 | Click on the dotted line at the top of a menu to "tear it off": a | 
 | separate window containing the menu is created. | 
 |  | 
 | File menu: | 
 |  | 
 | 	New window -- create a new editing window | 
 | 	Open... -- open an existing file | 
 | 	Open module... -- open an existing module (searches sys.path) | 
 | 	Class browser -- show classes and methods in current file | 
 | 	Path browser -- show sys.path directories, modules, classes | 
 | 		and methods | 
 | 	--- | 
 | 	Save -- save current window to the associated file (unsaved | 
 | 		windows have a * before and after the window title) | 
 |  | 
 | 	Save As... -- save current window to new file, which becomes | 
 | 		the associated file | 
 | 	Save Copy As... -- save current window to different file | 
 | 		without changing the associated file | 
 | 	--- | 
 | 	Close -- close current window (asks to save if unsaved) | 
 | 	Exit -- close all windows and quit IDLE (asks to save if unsaved) | 
 |  | 
 | Edit menu: | 
 |  | 
 | 	Undo -- Undo last change to current window (max 1000 changes) | 
 | 	Redo -- Redo last undone change to current window | 
 | 	--- | 
 | 	Cut -- Copy selection into system-wide clipboard; then delete selection | 
 | 	Copy -- Copy selection into system-wide clipboard | 
 | 	Paste -- Insert system-wide clipboard into window | 
 | 	Select All -- Select the entire contents of the edit buffer | 
 | 	--- | 
 | 	Find... -- Open a search dialog box with many options | 
 | 	Find again -- Repeat last search | 
 | 	Find selection -- Search for the string in the selection | 
 | 	Find in Files... -- Open a search dialog box for searching files | 
 | 	Replace... -- Open a search-and-replace dialog box | 
 | 	Go to line -- Ask for a line number and show that line | 
 | 	--- | 
 | 	Indent region -- Shift selected lines right 4 spaces | 
 | 	Dedent region -- Shift selected lines left 4 spaces | 
 | 	Comment out region -- Insert ## in front of selected lines | 
 | 	Uncomment region -- Remove leading # or ## from selected lines | 
 | 	Tabify region -- Turns *leading* stretches of spaces into tabs | 
 | 	Untabify region -- Turn *all* tabs into the right number of spaces | 
 | 	Expand word -- Expand the word you have typed to match another | 
 | 		word in the same buffer; repeat to get a different expansion | 
 | 	Format Paragraph -- Reformat the current blank-line-separated paragraph | 
 | 	--- | 
 | 	Import module -- Import or reload the current module | 
 | 	Run script -- Execute the current file in the __main__ namespace | 
 |  | 
 | Windows menu: | 
 |  | 
 | 	Zoom Height -- toggles the window between normal size (24x80) | 
 | 	and maximum height. | 
 | 	--- | 
 | 	The rest of this menu lists the names of all open windows; | 
 | 	select one to bring it to the foreground (deiconifying it if | 
 | 	necessary). | 
 |  | 
 | Debug menu (in the Python Shell window only): | 
 |  | 
 | 	Go to file/line -- look around the insert point for a filename | 
 | 		and linenumber, open the file, and show the line | 
 | 	Open stack viewer -- show the stack traceback of the last exception | 
 | 	Debugger toggle -- Run commands in the shell under the debugger | 
 | 	JIT Stack viewer toggle -- Open stack viewer on traceback | 
 |  | 
 | Basic editing and navigation: | 
 |  | 
 | 	Backspace deletes to the left; DEL deletes to the right | 
 | 	Arrow keys and Page Up/Down to move around | 
 | 	Home/End go to begin/end of line | 
 | 	Control-Home/End go to begin/end of file | 
 | 	Some Emacs bindings may also work, e.g. ^B/^P/^A/^E/^D/^L | 
 |  | 
 | Automatic indentation: | 
 |  | 
 | 	After a block-opening statement, the next line is indented by | 
 | 	4 spaces (in the Python Shell window by one tab).  After | 
 | 	certain keywords (break, return etc.) the next line is | 
 | 	dedented.  In leading indentation, Backspace deletes up to 4 | 
 | 	spaces if they are there.  Tab inserts 1-4 spaces (in the | 
 | 	Python Shell window one tab).  See also the indent/dedent | 
 | 	region commands in the edit menu. | 
 |  | 
 | Python Shell window: | 
 |  | 
 | 	^C interrupts executing command | 
 | 	^D sends end-of-file; closes window if typed at >>> prompt | 
 |  | 
 |     Command history: | 
 |  | 
 | 	Alt-p retrieves previous command matching what you have typed | 
 | 	Alt-n retrieves next | 
 | 	Return while on any previous command retrieves that command | 
 | 	Alt-/ (Expand word) is also useful here | 
 |  | 
 | Syntax colors: | 
 |  | 
 | 	The coloring is applied in a background "thread", so you may | 
 | 	occasionally see uncolorized text.  To change the color | 
 | 	scheme, edit the ColorPrefs class in IdlePrefs.py. | 
 |  | 
 |     Python syntax colors: | 
 |  | 
 | 	Keywords	orange | 
 | 	Strings		green | 
 | 	Comments	red | 
 | 	Definitions	blue | 
 |  | 
 |     Shell colors: | 
 |  | 
 | 	Console output	brown | 
 | 	stdout		blue | 
 | 	stderr		dark green | 
 | 	stdin		black | 
 |  | 
 | Other preferences: | 
 |  | 
 | 	To change the font on Windows, open EditorWindow.py and change | 
 | 	    text['font'] = ("lucida console", 8) | 
 | 	to, e.g., | 
 | 	    text['font'] = ("courier new", 10) | 
 |  | 
 | 	To change keyboard bindings, edit Bindings.py | 
 |  | 
 | Command line usage: | 
 |  | 
 | 	idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ... | 
 |  | 
 | 	-c command  run this command | 
 | 	-d          enable debugger | 
 | 	-e          edit mode; arguments are files to be edited | 
 | 	-s          run $IDLESTARTUP or $PYTHONSTARTUP first | 
 | 	-t title    set title of shell window | 
 |  | 
 | 	If there are arguments: | 
 |  | 
 | 	    If -e is used, arguments are files opened for editing and | 
 | 	    sys.argv reflects the arguments passed to IDLE itself. | 
 |  | 
 | 	    Otherwise, if -c is used, all arguments are placed in | 
 | 	    sys.argv[1:...], with sys.argv[0] set to '-c'. | 
 |  | 
 | 	    Otherwise, if neither -e nor -c is used, the first | 
 | 	    argument is a script which is executed with the remaining | 
 | 	    arguments in sys.argv[1:...]  and sys.argv[0] set to the | 
 | 	    script name.  If the script name is '-', no script is | 
 | 	    executed but an interactive Python session is started; the | 
 | 	    arguments are still available in sys.argv. |