Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
EMACS(1)			      GNU			      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 as-
       sumes 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 se-
       quence, 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  ap-
		      plies 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.

		      Do not load X resources.

	      -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  de-
		      faults  to "auto", and can also be "never", "auto", "al-
		      ways", 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 pa-
		      rameter "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 <>.
       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.  This 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,, 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 re-
       porting bugs is to get them fixed for everyone in the next release,  if
       possible.   For	personal  assistance, consult the service directory at
       <>	for a list of people who offer

       Please  do not send anything but	bug reports to this mailing list.  For
       other Emacs lists, see <>.

       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 ac-
       companies 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-2022 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 28.2			  2021-09-28			      EMACS(1)


Want to link to this manual page? Use this URL:

home | help