Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022

emacs (1)


emacs - GNU project Emacs editor


emacs [ command-line switches ] [ files ... ]


EMACS(1)                    General Commands Manual                   EMACS(1)

       emacs - GNU project Emacs editor

       emacs [ command-line switches ] [ files ... ]

       GNU  Emacs is a version of Emacs, written by the author of the original
       (PDP-10) Emacs, Richard Stallman.  The user functionality of GNU  Emacs
       encompasses  everything  other  editors do, and it is easily extensible
       since its editing commands are written in Lisp.

       The primary documentation of GNU Emacs is  in  the  GNU  Emacs  Manual,
       which  you  can  read  using Info, either from Emacs or as a standalone
       program.  Please look there for complete and up-to-date  documentation.
       This man page is updated only when someone volunteers to do so.

       Emacs  has  an  extensive  interactive  help facility, but the facility
       assumes that you know how to  manipulate  Emacs  windows  and  buffers.
       CTRL-h or F1 enters the Help facility.  Help Tutorial (CTRL-h t) starts
       an interactive tutorial to quickly teach beginners the fundamentals  of
       Emacs.   Help  Apropos  (CTRL-h a) helps you find a command with a name
       matching a given pattern, Help Key (CTRL-h k)  describes  a  given  key
       sequence, and Help Function (CTRL-h f) describes a given Lisp function.

       GNU Emacs's many special packages handle mail reading (RMail) and send-
       ing (Mail), outline editing  (Outline),  compiling  (Compile),  running
       subshells  within Emacs windows (Shell), running a Lisp read-eval-print
       loop (Lisp-Interaction-Mode),  automated  psychotherapy  (Doctor),  and
       much more.

   Emacs Options
       The following options are of general interest:

              file    Edit file.

              --file=file, --find-file=file, --visit=file
                      The same as specifying file directly as an argument.

              +number Go  to  the  line  specified  by number (do not insert a
                      space between  the  "+"  sign  and  the  number).   This
                      applies only to the next file specified.

                      Go to the specified line and column.

                      Change to directory.

              -q, --no-init-file
                      Do not load an init file.

              -nl, --no-shared-memory
                      Do not use shared memory.

                      Do not load the site-wide startup file.

              -nsl, --no-site-lisp
                      Do not add site-lisp directories to load-path.

                      Do not load a saved desktop.

              -Q, --quick
                      Similar to "-q --no-site-file --no-splash".  Also, avoid
                      processing X resources.

                      Do not display a splash screen during start-up.

                      Enable Emacs Lisp debugger during the processing of  the
                      user  init  file ~/.emacs.  This is useful for debugging
                      problems in the init file.

              -u user, --user=user
                      Load user's init file.

              -t file, --terminal=file
                      Use specified file as  the  terminal  instead  of  using
                      stdin/stdout.  This must be the first argument specified
                      in the command line.

              --daemon[=name], --bg-daemon[=name]
                      Start Emacs as a daemon, enabling the Emacs  server  and
                      disconnecting  from  the terminal.  You can then use the
                      emacsclient (see emacsclient(1)) command to  connect  to
                      the server (with optional name).

                      Like "--bg-daemon", but don't disconnect from the termi-

                      Display Emacs version information and exit.

              --help  Display this help and exit.

       The following options are Lisp-oriented (these options are processed in
       the order encountered):

              -f function, --funcall=function
                      Execute the lisp function function.

              -l file, --load=file
                      Load the lisp code in the file file.

              --eval=expr, --execute=expr
                      Evaluate the Lisp expression expr.

       The following options are useful when running Emacs as a batch editor:

              --batch Edit  in  batch  mode.  The editor will send messages to
                      stderr.  You must use -l and -f options to specify files
                      to execute and functions to call.

              --script file
                      Run file as an Emacs Lisp script.

                      Insert contents of file into the current buffer.

              --kill  Exit Emacs while in batch mode.

              -L dir, --directory=dir
                      Add  dir  to  the list of directories Emacs searches for
                      Lisp files.

   Using Emacs with X
       Emacs has been tailored to work well with the X window system.  If  you
       run Emacs from under X windows, it will create its own X window to dis-
       play in.  You will probably want to start the editor  as  a  background
       process so that you can continue using your original window.

       Emacs can be started with the following X switches:

                      Specify the name which should be assigned to the initial
                      Emacs window.  This controls looking up X  resources  as
                      well as the window title.

              -T name, --title=name
                      Specify the title for the initial X window.

              -r, -rv, --reverse-video
                      Display the Emacs window in reverse video.

              -fn font, --font=font
                      Set  the  Emacs window's font to that specified by font.
                      You   will   find   the   various   X   fonts   in   the
                      /usr/lib/X11/fonts directory.  Note that Emacs will only
                      accept fixed width fonts.  Under the X11 Release 4 font-
                      naming  conventions,  any font with the value "m" or "c"
                      in the eleventh field of the font name is a fixed  width
                      font.   Furthermore,  fonts  whose  name are of the form
                      widthxheight are generally fixed width, as is  the  font
                      fixed.  See xlsfonts(1) for more information.

                      When  you specify a font, be sure to put a space between
                      the switch and the font name.

                      Set additional X resources.

              --color, --color=mode
                      Override  color  mode  for  character  terminals;   mode
                      defaults  to  "auto",  and  can also be "never", "auto",
                      "always", or a mode name like "ansi8".

              -bw pixels, --border-width=pixels
                      Set the Emacs window's border width  to  the  number  of
                      pixels  specified  by  pixels.  Defaults to one pixel on
                      each side of the window.

              -ib pixels, --internal-border=pixels
                      Set the window's internal border width to the number  of
                      pixels  specified  by  pixels.  Defaults to one pixel of
                      padding on each side of the window.

              -g geometry, --geometry=geometry
                      Set the Emacs window's width, height,  and  position  as
                      specified.   The  geometry specification is in the stan-
                      dard X format; see X(7) for more information.  The width
                      and  height are specified in characters; the default for
                      GUI frames is a width of 80 and a height between 35  and
                      40, depending on the OS and the window manager.  See the
                      Emacs manual, section "Options for Window Size and Posi-
                      tion", for information on how window sizes interact with
                      selecting or deselecting the tool bar, tab bar and  menu

              -lsp pixels, --line-spacing=pixels
                      Additional space to put between lines.

              -vb, --vertical-scroll-bars
                      Enable vertical scrollbars.

              -fh, --fullheight
                      Make the first frame as high as the screen.

              -fs, --fullscreen
                      Make the first frame fullscreen.

              -fw, --fullwidth
                      Make the first frame as wide as the screen.

              -mm, --maximized
                      Maximize the first frame, like "-fw -fh".

              -fg color, --foreground-color=color
                      On color displays, set the color of the text.

                      Use  the  command  M-x list-colors-display for a list of
                      valid color names.

              -bg color, --background-color=color
                      On color displays, set the color of the  window's  back-

              -bd color, --border-color=color
                      On color displays, set the color of the window's border.

              -cr color, --cursor-color=color
                      On  color  displays,  set the color of the window's text

              -ms color, --mouse-color=color
                      On color displays, set the color of the  window's  mouse

              -d displayname, --display=displayname
                      Create the Emacs window on the display specified by dis-
                      playname.  Must be the first  option  specified  in  the
                      command line.

              -nbi, --no-bitmap-icon
                      Do not use picture of gnu for Emacs icon.

                      Start Emacs in iconified state.

              -nbc, --no-blinking-cursor
                      Disable blinking cursor.

                      Set parent window.

              -nw, --no-window-system
                      Tell  Emacs not to create a graphical frame.  If you use
                      this switch when invoking Emacs from an xterm(1) window,
                      display is done in that window.

              -D, --basic-display
                      This  option  disables many display features; use it for
                      debugging Emacs.

       You can set X default values for your Emacs windows in your .Xresources
       file (see xrdb(1)).  Use the following format:


       where value specifies the default value of keyword.  Emacs lets you set
       default values for the following keywords:

              background (class Background)
                      For color displays, sets the window's background color.

              bitmapIcon (class BitmapIcon)
                      If bitmapIcon's value is set  to  on,  the  window  will
                      iconify into the "kitchen sink."

              borderColor (class BorderColor)
                      For  color displays, sets the color of the window's bor-

              borderWidth (class BorderWidth)
                      Sets the window's border width in pixels.

              cursorColor (class Foreground)
                      For color displays, sets the color of the window's  text

              cursorBlink (class CursorBlink)
                      Specifies whether to make the cursor blink.  The default
                      is on.  Use off or false to turn cursor blinking off.

              font (class Font)
                      Sets the window's text font.

              foreground (class Foreground)
                      For color displays, sets the window's text color.

              fullscreen (class Fullscreen)
                      The desired fullscreen size.  The value can  be  one  of
                      fullboth,  maximized,  fullwidth,  or  fullheight, which
                      correspond to the  command-line  options  "-fs",  "-mm",
                      "-fw",  and "-fh", respectively.  Note that this applies
                      to the initial frame only.

              geometry (class Geometry)
                      Sets the geometry of  the  Emacs  window  (as  described

              iconName (class Title)
                      Sets the icon name for the Emacs window icon.

              internalBorder (class BorderWidth)
                      Sets the window's internal border width in pixels.

              lineSpacing (class LineSpacing)
                      Additional space ("leading") between lines, in pixels.

              menuBar (class MenuBar)
                      Gives  frames  menu  bars if on; don't have menu bars if
                      off.  See the Emacs manual, sections  "Lucid  Resources"
                      and "Motif Resources", for how to control the appearance
                      of the menu bar if you have one.

              minibuffer (class Minibuffer)
                      If none, don't make a minibuffer in this frame.  It will
                      use a separate minibuffer frame instead.

              paneFont (class Font)
                      Font  name for menu pane titles, in non-toolkit versions
                      of Emacs.

              pointerColor (class Foreground)
                      For color displays, sets the color of the window's mouse

              privateColormap (class PrivateColormap)
                      If  on,  use  a private color map, in the case where the
                      "default visual" of class PseudoColor and Emacs is using

              reverseVideo (class ReverseVideo)
                      If reverseVideo's value is set to on, the window will be
                      displayed in reverse video.

              screenGamma (class ScreenGamma)
                      Gamma correction for colors,  equivalent  to  the  frame
                      parameter "screen-gamma".

              scrollBarWidth (class ScrollBarWidth)
                      The  scroll bar width in pixels, equivalent to the frame
                      parameter "scroll-bar-width".

              selectionFont (class SelectionFont)
                      Font name for pop-up menu items, in non-toolkit versions
                      of  Emacs.  (For toolkit versions, see the Emacs manual,
                      sections "Lucid Resources" and "Motif Resources".)

              selectionTimeout (class SelectionTimeout)
                      Number of milliseconds to wait for a selection reply.  A
                      value of 0 means wait as long as necessary.

              synchronous (class Synchronous)
                      Run  Emacs  in synchronous mode if on.  Synchronous mode
                      is useful for debugging X problems.

              title (class Title)
                      Sets the title of the Emacs window.

              toolBar (class ToolBar)
                      Number of lines to reserve for the tool bar.

              tabBar (class TabBar)
                      Number of lines to reserve for the tab bar.

              useXIM (class UseXIM)
                      Turns off use of X input methods (XIM) if false or off.

              verticalScrollBars (class ScrollBars)
                      Gives frames scroll bars if on; suppresses  scroll  bars
                      if off.

              visualClass (class VisualClass)
                      Specify  the  "visual"  that X should use.  This tells X
                      how to handle colors.  The value should start  with  one
                      of  TrueColor,  PseudoColor,  DirectColor,  StaticColor,
                      GrayScale, and StaticGray,  followed  by  -depth,  where
                      depth is the number of color planes.

       You  can  order  printed  copies  of the GNU Emacs Manual from the Free
       Software Foundation, which develops GNU software.  See the online store
       at <https://shop.fsf.org/>.
       Your local administrator might also have copies available.  As with all
       software and publications from FSF, everyone is permitted to  make  and
       distribute  copies of the Emacs manual.  The Texinfo source to the man-
       ual is also included in the Emacs source distribution.

       /usr/local/share/info -- files for the Info documentation browser.  The
       complete text of the Emacs reference manual is included in a convenient
       tree structured form.  Also includes the Emacs Lisp  Reference  Manual,
       useful  to anyone wishing to write programs in the Emacs Lisp extension
       language, and the Introduction to Programming in Emacs Lisp.

       /usr/local/share/emacs/$VERSION/lisp -- Lisp source files and  compiled
       files  that  define  most editing commands.  Some are preloaded; others
       are autoloaded from this directory when used.

       /usr/local/libexec/emacs/$VERSION/$ARCH -- various  programs  that  are
       used with GNU Emacs.

       /usr/local/share/emacs/$VERSION/etc -- various files of information.

       /usr/local/share/emacs/$VERSION/etc/DOC.* -- contains the documentation
       strings for the Lisp primitives and preloaded  Lisp  functions  of  GNU
       Emacs.  They are stored here to reduce the size of Emacs proper.

       There  is  a  mailing  list, bug-gnu-emacs@gnu.org, for reporting Emacs
       bugs and fixes.  But before reporting something as a bug, please try to
       be sure that it really is a bug, not a misunderstanding or a deliberate
       feature.  We ask you to read the section "Reporting Bugs" in the  Emacs
       manual  for  hints  on  how and when to report bugs.  Also, include the
       version number of the Emacs you are running in every  bug  report  that
       you  send  in.  Bugs tend actually to be fixed if they can be isolated,
       so it is in your interest to report them in such a way that they can be
       easily reproduced.

       Do  not  expect  a  personal  answer  to  a bug report.  The purpose of
       reporting bugs is to get them fixed for everyone in the  next  release,
       if possible.  For personal assistance, consult the service directory at
       <https://www.fsf.org/resources/service/> for a list of people who offer

       Please  do not send anything but bug reports to this mailing list.  For
       other Emacs lists, see <https://savannah.gnu.org/mail/?group=emacs>.

       Emacs is free; anyone may redistribute copies of Emacs to anyone  under
       the  terms  stated  in  the GNU General Public License, a copy of which
       accompanies each copy of Emacs and which also appears in the  reference

       Copies  of  Emacs may sometimes be received packaged with distributions
       of Unix systems, but it is never included in the scope of  any  license
       covering  those  systems.   Such  inclusion violates the terms on which
       distribution is permitted.  In fact, the primary  purpose  of  the  GNU
       General  Public  License is to prohibit anyone from attaching any other
       restrictions to redistribution of Emacs.

       Richard Stallman encourages you to improve and extend Emacs, and  urges
       that you contribute your extensions to the GNU library.  Eventually GNU
       (Gnu's Not Unix) will be a complete  replacement  for  Unix.   Everyone
       will be free to use, copy, study and change the GNU system.

       emacsclient(1), etags(1), X(7), xlsfonts(1), xterm(1), xrdb(1)

       Emacs was written by Richard Stallman and the Free Software Foundation.
       For detailed credits and acknowledgments, see the GNU Emacs manual.

       Copyright 1995, 1999-2021 Free Software Foundation, Inc.

       Permission is granted to make and distribute verbatim  copies  of  this
       document  provided  the copyright notice and this permission notice are
       preserved on all copies.

       Permission is granted to copy and distribute modified versions of  this
       document  under  the conditions for verbatim copying, provided that the
       entire resulting derived work is distributed under the terms of a  per-
       mission notice identical to this one.

       Permission is granted to copy and distribute translations of this docu-
       ment into another language, under the  above  conditions  for  modified
       versions,  except that this permission notice may be stated in a trans-
       lation approved by the Free Software Foundation.

GNU Emacs 27.2                   2007 April 13                        EMACS(1)