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) 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. 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. The following section has examples of both of these methods.
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 ‘
Meta-A or ‘
See Init Non-ASCII, 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 Init Non-ASCII, for information about binding commands to keys which send non-ASCII characters.
t stands for “true".
nil stands for “false".
other lisp objects
Write a single-quote (
') followed by the Lisp object you want.