Emacs обладает весьма гибким окружением, которое может быть легко приспособлено для выполнения конкретных задач. Например, Emacs позволяет запоминать последовательности комбинаций клавиш, чтобы не нажимать много раз подряд одни и те же кнопки. Emacs позволяет также изменять окружение через написание процедур на языке программирование Emacs LISP. Описанию данных возможностей посвящена эта глава.