GNU Emacs Manual. Node: Programs

PREV Text UP Top NEXT Building

Chapter 20: Editing Programs

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

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 (see Words); sentences can be found in strings and comments (see 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 (see 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 (see 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.
  • PREV Text UP Top NEXT Building