GNU Info

Info Node: (emacs)Custom C Indent

(emacs)Custom C Indent


Prev: C Indent Up: Program Indent
Enter node , (file) or (file)node

Customizing C Indentation
-------------------------

   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".

`M-x c-set-style <RET> STYLE <RET>'
     Select predefined indentation style 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.

   Note: Customizing Indentation, 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.


automatically generated by info2www version 1.2.2.9