Table of Contents



This is programmable editor written in Lisp. It has not only editor functionality but also supporting bunch of programming languages, plugins and extension by user defined Lisp code.


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 sending (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.

How to Install


Mac OS



Emacs 25
$ sudo apt-add-repository -y ppa:adrozdoff/emacs
$ sudo apt update
$ sudo apt install emacs25

Mac OS

$ brew install emacs

Installed Packages

  • aspell
  • aspell-en
  • dictionaries-common
  • emacs25-bin-common
  • emacs25-common
  • emacs25-el
  • emacsen-common
  • enchant
  • ghostscript
  • gsfonts
  • gstreamer1.0-plugins-base
  • gstreamer1.0-plugins-good
  • gstreamer1.0-x
  • hunspell-en-us
  • imagemagick-common
  • libaa1
  • libasound2
  • libasound2-data
  • libaspell15
  • libavc1394-0
  • libcaca0
  • libcdparanoia0
  • libcupsfilters1
  • libcupsimage2
  • libdv4
  • libenchant1c2a
  • libfftw3-double3
  • libflac8
  • libfribidi0
  • libgeoclue0
  • libgif7
  • libgl1-mesa-glx
  • libgpm2
  • libgs9
  • libgs9-common
  • libgstreamer-plugins-base1.0-0
  • libgstreamer-plugins-good1.0-0
  • libgstreamer1.0-0
  • libharfbuzz-icu0
  • libhunspell-1.3-0
  • libice6
  • libiec61883-0
  • libijs-0.35
  • libjack-jackd2-0
  • libjavascriptcoregtk-3.0-0
  • libjbig2dec0
  • liblockfile-bin
  • liblockfile1
  • liblqr-1-0
  • libm17n-0
  • libmagickcore-6.q16-2
  • libmagickwand-6.q16-2
  • libogg0
  • libopus0
  • liborc-0.4-0
  • libotf0
  • libpaper-utils
  • libpaper1
  • libraw1394-11
  • libsamplerate0
  • libshout3
  • libslang2
  • libsm6
  • libspeex1
  • libtag1v5
  • libtag1v5-vanilla
  • libtext-iconv-perl
  • libtheora0
  • libv4l-0
  • libv4lconvert0
  • libvisual-0.4-0
  • libvorbis0a
  • libvorbisenc2
  • libwavpack1
  • libwebkitgtk-3.0-0
  • libwebkitgtk-3.0-common
  • libwebp5
  • libxcb-glx0
  • libxslt1.1
  • libxt6
  • libxv1
  • libxxf86vm1
  • m17n-db
  • poppler-data


$ emacs --version


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


This is updated for version 25.3.


  • --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.
  • +line:column : Go to the specified line and column.
  • --chdir directory : Change to directory.
  • -q, --no-init-file : Do not load an init file. (eg. ~/.emacs.d/init.el) init file을 로드하지 않습니다. (예. ~/.emacs.d/init.el)
  • -nl, --no-shared-memory : Do not use shared memory.
  • --no-site-file : Do not load the site-wide startup file.
  • -nsl, --no-site-lisp : Do not add site-lisp directories to load-path.
  • --no-desktop :

Do not load a saved desktop.

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

Do not display a splash screen during start-up.

  • --debug-init : 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 : Start Emacs as a daemon, enabling the Emacs server and disconnecting from the terminal. You can then use the emacsclient command to connect to the server (see emacsclient(1)).
  • --version : Display Emacs version information and exit.
  • --help : Display this help and exit.

Emacs Lisp

  • -f function, --funcall function : Execute the lisp function function.
  • -l file, --load file : Load the lisp code in the file.
  • --eval expr, --execute expr : Evaluate the Lisp expression expr.

Batch mode

  • --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 file : 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

with X

  • --name name : 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.
  • --xrm resources : 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 standard X format; see X(7) for more information. The width and height are specified in characters; the default is 80 by 24. See the Emacs manual, section "Options for Window Size and Position", for information on how window sizes interact with selecting or deselecting the tool bar and menu bar.
  • -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 background.
  • -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 cursor.
  • -ms color, --mouse-color color : On color displays, set the color of the window's mouse cursor.
  • -d displayname, --display displayname : Create the Emacs window on the display specified by displayname. Must be the first option specified in the command line.
  • -nbi, --no-bitmap-icon : Do not use picture of gnu for Emacs icon.
  • --iconic : Start Emacs in iconified state.
  • -nbc, --no-blinking-cursor : Disable blinking cursor.
  • --parent-id xid : 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.


  • emacs -Q --batch file.org -f org-html-export-to-html :
  • emacs -Q --batch --eval "(+ 1 2)" :


Date: 2018-02-20

Author: Dongsoo Lee

Created: 2018-12-10 Mon 03:07