Other Commands for C Mode
- C-M-h
Put mark at the end of a function definition, and put point at the beginning (c-mark-function). - M-q
Fill a paragraph, handling C and C++ comments (c-fill-paragraph). If any part of the current line is a comment or within a comment, this command fills the comment or the paragraph of it that point is in, preserving the comment indentation and comment delimiters. - C-c C-e
Run the C preprocessor on the text in the region, and show the result, which includes the expansion of all the macro calls (c-macro-expand). The buffer text before the region is also included in preprocessing, for the sake of macros defined there, but the output from this part isn't shown.When you are debugging C code that uses macros, sometimes it is hard to figure out precisely how the macros expand. With this command, you don't have to figure it out; you can see the expansions.
- C-c C-\
Insert or align \ characters at the ends of the lines of the region (c-backslash-region). This is useful after writing or editing a C macro definition.If a line already ends in \, this command adjusts the amount of whitespace before it. Otherwise, it inserts a new \. However, the last line in the region is treated specially; no \ is inserted on that line, and any \ there is deleted.
- M-x cpp-highlight-buffer
Highlight parts of the text according to its preprocessor conditionals. This command displays another buffer named *CPP Edit*, which serves as a graphic menu for selecting how to display particular kinds of conditionals and their contents. After changing various settings, click on [A]pply these settings (or go to that buffer and type a) to rehighlight the C mode buffer accordingly. - C-c C-s
Display the syntactic information about the current source line (c-show-syntactic-information). This is the information that directs how the line is indented. - M-x cwarn-mode
- M-x global-cwarn-mode
CWarn minor mode highlights certain suspicious C and C++ constructions:- Assignments inside expressions.
- Semicolon following immediately after if, for, and while (except after a do ... while statement [li]C++ functions with reference parameters. [/ul] [p]You can enable the mode for one buffer with the command [i]M-x cwarn-mode[/i], or for all suitable buffers with the command [i]M-x global-cwarn-mode[/i] or by customizing the variable [b]global-cwarn-mode[/b]. You must also enable Font Lock mode to make it work. [br][li][i]M-x hide-ifdef-mode[/i] [br] Hide-ifdef minor mode hides selected code within [b]#if[/b] and [b]#ifdef[/b] preprocessor blocks. See the documentation string of [b]hide-ifdef-mode[/b] for more information. [br][li][i]M-x ff-find-related-file[/i] [br] Find a file "related" in a special way to the file visited by the current buffer. Typically this will be the header file corresponding to a C/C++ source file, or vice versa. The [p] * [b][link url=/od/emacs_doc/a/emacs_doc_idx.htm]Emacs Manual Index[/link][/b] _z_linux_z_);

