Next: Init Examples, Up: Init File
The .emacs file contains one or more Lisp function call
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
.emacs file. Some variables automatically become buffer-local
when set with setq
; what you want in .emacs 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 .emacs 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 .emacs, constants are used most
of the time. They can be:
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 Control-Meta-A.
If you want to include non-ASCII characters in strings in your init
file, you should consider putting a ‘-*-coding: coding-system-*-’ tag on the first line which states the coding
system used to save your .emacs, as explained in Recognize Coding. This is because the defaults for decoding non-ASCII text might
not yet be set up by the time Emacs reads those parts of your init file
which use such strings, possibly leading Emacs to decode those strings
incorrectly.
?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 Rebinding, for information about binding commands to
keys which send non-ASCII characters.
t
stands for `true'.
nil
stands for `false'.
'
) followed by the Lisp object you want.