2 IDLWAVE in a Nutshell

Editing IDL Programs

TABIndent the current line relative to context.
C-M-\Re-indent all lines in the current region.
C-M-qRe-indent all lines in the current routine.
C-u TABRe-indent all lines in the current statement.
M-RETStart a continuation line, splitting the current line at point.
M-;Start new comment at line beginning or after code, or (un)comment highlighted region.
M-qFill the current comment paragraph.
C-c ?Display calling sequence and keywords for the procedure or function call at point.
M-?Load context sensitive online help for nearby routine, keyword, etc.
M-TABComplete a procedure name, function name or keyword in the buffer.
C-c C-iUpdate IDLWAVE’s knowledge about functions and procedures.
C-c C-vVisit the source code of a procedure/function.
C-u C-c C-vVisit the source code of a procedure/function in this buffer.
C-c C-hInsert a standard documentation header.
C-c RETInsert a new timestamp and history item in the documentation header.

Running the IDLWAVE Shell, Debugging Programs

C-c C-sStart IDL as a subprocess and/or switch to the shell buffer.
Up, M-pCycle back through IDL command history.
Down,M-nCycle forward.
TABComplete a procedure name, function name or keyword in the shell buffer.
C-c C-d C-cSave and compile the source file in the current buffer.
C-c C-d C-eCompile and run the current region.
C-c C-d C-xGo to next syntax error.
C-c C-d C-vSwitch to electric debug mode.
C-c C-d C-bSet a breakpoint at the nearest viable source line.
C-c C-d C-dClear the nearest breakpoint.
C-c C-d [Go to the previous breakpoint.
C-c C-d ]Go to the next breakpoint.
C-c C-d C-pPrint the value of the expression near point in IDL.

Commonly used Settings in .emacs

;; Change the indentation preferences
;; Start autoloading routine info after 2 idle seconds
(setq idlwave-init-rinfo-when-idle-after 2)
;; Pad operators with spaces
(setq idlwave-do-actions t
      idlwave-surround-by-blank t)
;; Syntax Highlighting
(add-hook 'idlwave-mode-hook 'turn-on-font-lock)
;; Automatically start the shell when needed
(setq idlwave-shell-automatic-start t)
;; Bind debugging commands with CONTROL and SHIFT modifiers
(setq idlwave-shell-debug-modifiers '(control shift))