Next: Getting Started, Previous: Introduction, Up: Top [Contents][Index]

## 2 IDLWAVE in a Nutshell

#### Editing IDL Programs

`TAB` | Indent the current line relative to context.
`C-M-\` | Re-indent all lines in the current region.
`C-M-q` | Re-indent all lines in the current routine.
`C-u TAB` | Re-indent all lines in the current statement.
`M-RET` | Start 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-q` | Fill 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-TAB` | Complete a procedure name, function name or keyword in the buffer.
`C-c C-i` | Update IDLWAVE’s knowledge about functions and procedures.
`C-c C-v` | Visit the source code of a procedure/function.
`C-u C-c C-v` | Visit the source code of a procedure/function in this buffer.
`C-c C-h` | Insert a standard documentation header.
`C-c RET` | Insert a new timestamp and history item in the documentation header.

#### Running the IDLWAVE Shell, Debugging Programs

`C-c C-s` | Start IDL as a subprocess and/or switch to the shell buffer.
`Up`, `M-p` | Cycle back through IDL command history.
`Down`,`M-n` | Cycle forward.
`TAB` | Complete a procedure name, function name or keyword in the shell buffer.
`C-c C-d C-c` | Save and compile the source file in the current buffer.
`C-c C-d C-e` | Compile and run the current region.
`C-c C-d C-x` | Go to next syntax error.
`C-c C-d C-v` | Switch to electric debug mode.
`C-c C-d C-b` | Set a breakpoint at the nearest viable source line.
`C-c C-d C-d` | Clear 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-p` | Print 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))

Next: Getting Started, Previous: Introduction, Up: Top [Contents][Index]