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
function setq
to set the variable fill-column
(see Filling Text) to 60.
You can set any Lisp variable with setq
, but with certain
variables 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
value, using 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 setq
won’t
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
customize-set-variable
/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 ‘\’.
Examples: ?x
, ?\n
, ?\"
, ?\)
. 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.