[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 [Colors] section in config.txt (or add a [Colors] section to ~/.idle). 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: Most preferences can be changed by editing one of the configuration text files: config.txt (generic) or one of config-unix.txt, config-win.txt, config.mac.txt (platform specific). User-specific preferences can be stored in $HOME/.idle, which overrides the config*.txt files. 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.