6 Entering and Exiting Emacs
The usual way to invoke Emacs is with the shell command emacs.
Emacs clears the screen and then displays an initial help message and
copyright notice. Some operating systems discard all type-ahead when
Emacs starts up; they give Emacs no way to prevent this. Therefore, it
is advisable to wait until Emacs clears the screen before typing your
first editing command.
If you run Emacs from a shell window under the X Window System, run it
in the background with emacs&. This way, Emacs does not tie up
the shell window, so you can use that to run other shell commands while
Emacs operates its own X windows. You can begin typing Emacs commands
as soon as you direct your keyboard input to the Emacs frame.
When Emacs starts up, it creates a buffer named ‘*scratch*’.
That's the buffer you start out in. The ‘*scratch*’ buffer uses Lisp
Interaction mode; you can use it to type Lisp expressions and evaluate
them, or you can ignore that capability and simply doodle. (You can
specify a different major mode for this buffer by setting the variable
initial-major-mode
in your init file. See Init File.)
It is possible to specify files to be visited, Lisp files to be
loaded, and functions to be called, by giving Emacs arguments in the
shell command line. See Emacs Invocation. But we don't recommend
doing this. The feature exists mainly for compatibility with other
editors.
Many other editors are designed to be started afresh each time you
want to edit. You edit one file and then exit the editor. The next
time you want to edit either another file or the same one, you must run
the editor again. With these editors, it makes sense to use a
command-line argument to say which file to edit.
But starting a new Emacs each time you want to edit a different file
does not make sense. This would fail to take advantage of Emacs's
ability to visit more than one file in a single editing session, and
it would lose the other accumulated context, such as the kill ring,
registers, undo history, and mark ring, that are useful for operating
on multiple files.
The recommended way to use GNU Emacs is to start it only once, just
after you log in, and do all your editing in the same Emacs session.
Each time you want to edit a different file, you visit it with the
existing Emacs, which eventually comes to have many files in it ready
for editing. Usually you do not kill the Emacs until you are about to
log out. See Files, for more information on visiting more than one
file.
If you want to edit a file from another program and already have
Emacs running, you can use the emacsclient program to open a
file in the already running Emacs. See Emacs Server, for more
information on editing files with Emacs from other programs.