Appendix C Command Line Arguments for Emacs Invocation
Emacs supports command line arguments to request various actions when invoking Emacs. These are for compatibility with other editors and for sophisticated activities. We don’t recommend using them for ordinary editing (See Using Emacs as a Server, for a way to access an existing Emacs job from the command line).
Arguments starting with ‘ -
’ are options, and so is
‘ +linenum
’. All other arguments specify files to visit.
Emacs visits the specified files while it starts up. The last file
specified on the command line becomes the current buffer; the other
files are also visited in other buffers. As with most programs, the
special argument ‘ --
’ says that all subsequent arguments are file
names, not options, even if they start with ‘ -
’.
Emacs command options can specify many things, such as the size and position of the X window Emacs uses, its colors, and so on. A few options support advanced usage, such as running Lisp functions on files in batch mode. The sections of this chapter describe the available options, arranged according to their purpose.
There are two ways of writing options: the short forms that start with
a single ‘ -
’, and the long forms that start with ‘ --
’. For
example, ‘ -d
’ is a short form and ‘ --display
’ is the
corresponding long form.
The long forms with ‘ --
’ are easier to remember, but longer to
type. However, you don’t have to spell out the whole option name; any
unambiguous abbreviation is enough. When a long option requires an
argument, you can use either a space or an equal sign to separate the
option name and the argument. Thus, for the option ‘ --display
’,
you can write either ‘ --display sugar-bombs:0.0
’ or
‘ --display=sugar-bombs:0.0
’. We recommend an equal sign because
it makes the relationship clearer, and the tables below always show an
equal sign.
Most options specify how to initialize Emacs, or set parameters for
the Emacs session. We call them initial options. A few options
specify things to do, such as loading libraries or calling Lisp
functions. These are called action options. These and file
names together are called action arguments. The action
arguments are stored as a list of strings in the variable
command-line-args
. (Actually, when Emacs starts up,
command-line-args
contains all the arguments passed from the
command line; during initialization, the initial arguments are removed
from this list when they are processed, leaving only the action
arguments.)