[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
C mode and related modes use a simple yet flexible mechanism for customizing indentation. The mechanism works in two steps: first it classifies the line syntactically according to its contents and context; second, it associates each kind of syntactic construct with an indentation offset based on your selected style.
A style is a named collection of indentation customizations that can
be used in C mode and the related modes. Emacs comes with several
predefined styles, including gnu
, k&r
, bsd
,
stroustrup
, linux
, python
, java
,
whitesmith
, ellemtel
, cc-mode
, and user
.
Some of these styles are primarily intended for one language, but any
of them can be used with any of the languages supported by these
modes. To find out what a style looks like, select it and reindent
some code, e.g., by typing C-M-q at the start of a function
definition.
To choose a style for the current buffer, use the command M-x c-set-style. Specify a style name as an argument (case is not significant). This command affects the current buffer only, and it affects only future invocations of the indentation commands; it does not reindent the code in the buffer. To reindent the whole buffer in the new style, you can type C-x h C-M-\.
You can also set the variable c-default-style
to specify the
default style for various major modes. Its value should be an alist,
in which each element specifies one major mode and which indentation
style to use for it. For example,
(setq c-default-style '((java-mode . "java") (other . "gnu"))) |
specifies an explicit choice for Java mode, and the default `gnu' style for the other C-like modes. This variable takes effect when you select one of the C-like major modes; thus, if you specify a new default style for Java mode, you can make it take effect in an existing Java mode buffer by typing M-x java-mode there.
The gnu
style specifies the formatting recommended by the GNU
Project for C; it is the default, so as to encourage use of our
recommended style.
See section `Customizing Indentation' in the CC Mode Manual, for more information on customizing indentation for C and related modes, including how to override parts of an existing style and how to define your own styles.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |