Difference between revisions of "C-mode"
Jump to navigation
Jump to search
(markup) |
(added info box) |
||
| Line 1: | Line 1: | ||
| + | {{Infobox major-mode | ||
| + | |title = C | ||
| + | |library = cc-mode | ||
| + | |command = c-mode | ||
| + | |builtin = yes | ||
| + | |auto activates = *.c *.h *.xbm *.xpm *.y *.yacc *.lex *.i *.m | ||
| + | }} | ||
| + | |||
'''c-mode''' is the default [[major mode]] for editing [[C]] source files | '''c-mode''' is the default [[major mode]] for editing [[C]] source files | ||
({{File|.c}} and {{File|.h}} files). It uses {{ModeLink|cc-mode}}. | ({{File|.c}} and {{File|.h}} files). It uses {{ModeLink|cc-mode}}. | ||
Revision as of 12:33, 31 March 2012
| Library | cc-mode |
|---|---|
| Command | c-mode |
| Builtin | yes |
| Auto-activates for | *.c *.h *.xbm *.xpm *.y *.yacc *.lex *.i *.m |
c-mode is the default major mode for editing C source files (.c and .h files). It uses cc-mode.
Basic setup
c-mode is bundled with Emacs by default. No additional setup is required.
Helpful keybindings
- [C-M-a]
- Go to the beginning of the current function. If you are between 2 functions, go the start of the previous one.
- [C-M-e]
- Go to the end of the current function. If you are between 2 functions, go to the end of the next one.
Common Customization
Change default indenting style
Style
Any mode based on cc-mode provides automatic indentation. The default style is gnu. It is the one recommended by the Free Software Foundation for GNU projects but you can use a different one.
Here is a basic list of predefined styles:
gnu- The default style for GNU projects
k&r- What Kernighan and Ritchie, the authors of C used in their book
bsd- What BSD developers use, aka “Allman style” after Eric Allman.
whitesmith- Popularized by the examples that came with Whitesmiths C, an early commercial C compiler.
stroustrup- What Stroustrup, the author of C++ used in his book
ellemtel- Popular C++ coding standards as defined by “Programming in C++, Rules and Recommendations,” Erik Nyquist and Mats Henricson, Ellemtel
linux- What the Linux developers use for kernel development
python- What Python developers use for extension modules
java- The default style for java-mode (see below)
user- When you want to define your own style
You can look the cc-mode documentation for a complete list of builtin style. For visual example of each style you can look the Wikipedia article on indenting style.
- The default style is set via the variable c-default-style
- Use [C-c .] (or M-x c-set-style) to change the indentation style of the current buffer.
- The amount of space use to indent is set via the variable c-basic-offset.
To set the default style to K&R and use 4 spaces, add this to your Emacs configuration file:
; set k&r style
(setq c-default-style "k&r")
; indent with 4 spaces
(setq c-basic-offset 4)
GNU/Linux
OS X
Windows
Emacs-24
Emacs-23
Recommended Reading
Project Pages