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" ( Lists).
* Move over or mark top-level expressions--"defuns", in Lisp;
functions, in C ( Defuns).
* Show how parentheses balance ( Matching).
* Insert, kill or align comments ( Comments).
* Follow the usual indentation conventions of the language (
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 ( Words);
sentences can be found in strings and comments ( 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 ( Paragraphs).
Judicious use of blank lines to make the program clearer will also
provide useful chunks of text for the paragraph commands to work on.
The selective display feature is useful for looking at the overall
structure of a function ( 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.
* Which Function Which Function mode shows which function you are in.
* 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 Modes Special commands of C, C++, Objective-C,
Java, and Pike modes.
* Fortran Fortran mode and its special features.
* Asm Mode Asm mode and its special features.
automatically generated by