The init file contains one or more Lisp expressions. Each of these
consists of a function name followed by arguments, all surrounded by
parentheses. For example,
(setq fill-column 60) calls the
setq to set the variable
(see Filling Text) to 60.
You can set any Lisp variable with
setq, but with certain
setq won’t do what you probably want in the init
file. Some variables automatically become buffer-local when set with
setq; what you want in the init file is to set the default
setq-default. (The following section has examples
of both of these methods.)
Some customizable minor mode variables do special things to enable the
mode when you set them with Customize, but ordinary
do that; to enable the mode in your init file, call the minor mode
command. Finally, a few customizable user options are initialized in
complex ways, and these have to be set either via the customize
interface (see Customization), or by using
setopt (see Examining and Setting Variables).
The second argument to
setq is an expression for the new
value of the variable. This can be a constant, a variable, or a
function call expression. In the init file, constants are used most
of the time. They can be:
Numbers are written in decimal, with an optional initial minus sign.
Lisp string syntax is the same as C string syntax with a few extra features. Use a double-quote character to begin and end a string constant.
In a string, you can include newlines and special characters literally. But often it is cleaner to use backslash sequences for them: ‘\n’ for newline, ‘\b’ for backspace, ‘\r’ for carriage return, ‘\t’ for tab, ‘\f’ for formfeed (control-L), ‘\e’ for escape, ‘\\’ for a backslash, ‘\"’ for a double-quote, or ‘\ooo’ for the character whose octal code is ooo. Backslash and double-quote are the only characters for which backslash sequences are mandatory.
‘\C-’ can be used as a prefix for a control character, as in ‘\C-s’ for ASCII control-S, and ‘\M-’ can be used as a prefix for a Meta character, as in ‘\M-a’ for Meta-A or ‘\M-\C-a’ for Ctrl-Meta-A.
See Non-ASCII Characters in Init Files, for information about including non-ASCII in your init file.
Lisp character constant syntax consists of a ‘?’ followed by
either a character or an escape sequence starting with ‘\’.
?\). Note that
strings and characters are not interchangeable in Lisp; some contexts
require one and some contexts require the other.
See Non-ASCII Characters in Init Files, for information about binding commands to keys which send non-ASCII characters.
t stands for “true”.
nil stands for “false”.
Write a single-quote (
') followed by the Lisp object you want.
For more information on the Emacs Lisp syntax, see Introduction in The Emacs Lisp Reference Manual.