CC Mode

CC Mode is a GNU Emacs mode for editing files containing C, C++, Objective-C, Java, CORBA IDL (and the variants PSDL and CIDL), Pike and AWK code. It provides syntax-based indentation, font locking, and has several handy commands and some minor modes to make the editing easier. It does not provide tools to look up and navigate between functions, classes, etc.; there are other packages for that.

This manual is for CC Mode in Emacs.

Getting Started
Font Locking
Config Basics
Custom Filling and Breaking
Custom Auto-newlines
Indentation Engine Basics
Customizing Indentation
Custom Macros
Odds and Ends
Sample Init File
Performance Issues
Limitations and Known Bugs
Updating CC Mode
Mailing Lists and Bug Reports
GNU Free Documentation License
Command and Function Index
Variable Index
Concept and Key Index

Detailed Node Listing

Indentation Commands
Comment Commands
Movement Commands
Filling and Breaking
Minor Modes
Electric Keys
Hungry WS Deletion
Subword Movement
Other Commands
Font Locking
Font Locking Preliminaries
Doc Comments
Misc Font Locking
AWK Mode Font Locking
Configuration Basics
CC Hooks
Style Variables
Built-in Styles
Choosing a Style
Adding Styles
Guessing the Style
File Styles
Customizing Auto-newlines
Hanging Braces
Hanging Colons
Hanging Semicolons and Commas
Hanging Braces
Custom Braces
Indentation Engine Basics
Syntactic Analysis
Syntactic Symbols
Indentation Calculation
Syntactic Symbols
Function Symbols
Class Symbols
Conditional Construct Symbols
Switch Statement Symbols
Brace List Symbols
External Scope Symbols
Paren List Symbols
Literal Symbols
Multiline Macro Symbols
Objective-C Method Symbols
Java Symbols
Statement Block Symbols
K&R Symbols
Customizing Indentation
Interactive Customization
Line-Up Functions
Custom Line-Up
Other Indentation
Line-Up Functions
Brace/Paren Line-Up
List Line-Up
Operator Line-Up
Comment Line-Up
Misc Line-Up
Customizing Macros
Macro Backslashes
Macros with ;
Noise Macros

Copyright © 1995–2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A GNU Manual”, and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License”.

(a) The FSF's Back-Cover Text is: “You have the freedom to copy and modify this GNU manual.”