Next: Building Prev: Text Up: Top

Editing Programs

   Emacs has many commands designed to understand the syntax of
programming languages such as Lisp and C.  These commands can

   * Move over or kill balanced expressions or "sexps" (Note: Lists.).

   * Move over or mark top-level expressions--"defuns", in Lisp;
     functions, in C (Note: Defuns.).

   * Show how parentheses balance (Note: Matching.).

   * Insert, kill or align comments (Note: Comments.).

   * Follow the usual indentation conventions of the language (*note
     Program Indent::.).

   The commands for words, sentences and paragraphs are very useful in
editing code even though their canonical application is for editing
human language text.  Most symbols contain words (Note: Words.);
sentences can be found in strings and comments (Note: Sentences.).
Paragraphs per se don't exist in code, but the paragraph commands are
useful anyway, because programming language major modes define
paragraphs to begin and end at blank lines (Note: Paragraphs.).
Judicious use of blank lines to make the program clearer will also
provide interesting chunks of text for the paragraph commands to work

   The selective display feature is useful for looking at the overall
structure of a function (Note: Selective Display.).  This feature
causes only the lines that are indented less than a specified amount to
appear on the screen.

* Program Modes
Major modes for editing programs.
* Lists
Expressions with balanced parentheses.
* List Commands
The commands for working with list and sexps.
* Defuns
Each program is made up of separate functions. There are editing commands to operate on them.
* Program Indent
Adjusting indentation to show the nesting.
* Matching
Insertion of a close-delimiter flashes matching open.
* Comments
Inserting, killing, and aligning comments.
* Balanced Editing
Inserting two matching parentheses at once, etc.
* Symbol Completion
Completion on symbol names of your program or language.
* Documentation
Getting documentation of functions you plan to call.
* Change Log
Maintaining a change history for your program.
* Tags
Go direct to any function in your program in one command. Tags remembers which file it is in.
* Emerge
A convenient way of merging two versions of a program.
* C Mode
Special commands of C mode (and C++ mode).
* Fortran
Fortran mode and its special features.
* Asm Mode
Asm mode and its special features.

automatically generated by info2www