emacs - редактор GNU Emacs
СИНТАКСИС
emacs [ параметры командной строки ] [ файлы ... ]
ОПИСАНИЕ
GNU Emacs — это версия Emacs, написанная автором оригинального (PDP-10) Emacs, Ричардом Столлманом. Пользовательская функциональность GNU Emacs охватывает все, что делают другие редакторы, и она легко расширяется, поскольку ее команды редактирования написаны на языке Lisp.
Основная документация GNU Emacs находится в руководстве GNU Emacs, которое можно прочитать с помощью Info, либо из Emacs, либо как отдельная программа. Пожалуйста, обращайтесь к нему для получения полной и актуальной документации. Эта страница руководства обновляется только в том случае, если кто-то соглашается это сделать.
В Emacs есть обширная интерактивная система помощи, но она предполагает, что вы знаете, как манипулировать окнами и буферами Emacs. CTRL-h или F1 открывает систему помощи. Help Tutorial (CTRL-h t) запускает интерактивный учебник, который быстро обучает новичков основам Emacs. Help Apropos (CTRL-h a) помогает вам найти команду, имя которой соответствует заданному шаблону, Help Key (CTRL-h k) описывает заданную последовательность клавиш, а Help Function (CTRL-h f) описывает заданную функцию Lisp.
Многие специальные пакеты GNU Emacs обрабатывают чтение почты (RMail) и отправку (Mail), редактирование структуры (Outline), компиляцию (Compile), запуск под-оболочек в окнах Emacs (Shell), запуск цикла чтения-вычисления-вывода Lisp (Lisp-Interaction-Mode), автоматическую психотерапию (Doctor) и многое другое.
Параметры Emacs
Следующие параметры представляют общий интерес:
file Редактировать файл.
--file=file, --find-file=file, --visit=file
То же, что и указание файла непосредственно в качестве аргумента.
+number Перейти к строке, указанной номером (не вставляйте пробел между знаком "+" и номером). Это применяется только к следующему указанному файлу.
+line:column
Перейти к указанной строке и столбцу.
--chdir=directory
Перейти в каталог.
-q, --no-init-file
Не загружать файл инициализации.
-nl, --no-shared-memory
Не использовать общую память.
--no-site-file
Не загружать общедоступный файл запуска.
-nsl, --no-site-lisp
Не добавлять каталоги site-lisp в load-path.
--no-desktop
Не загружать сохраненный рабочий стол.
-Q, --quick
Аналогично "-q --no-site-file --no-splash". Кроме того, избегайте обработки ресурсов X.
--no-splash
Не отображать экран приветствия при запуске.
--debug-init
Включить отладчик Emacs Lisp во время обработки файла инициализации пользователя ~/.emacs. Это полезно для отладки проблем в файле инициализации.
-u user, --user=user
Загрузить файл инициализации пользователя вместо вашего собственного.
--init-directory=directory
Запустить Emacs с установкой user-emacs-directory в каталог.
-t file, --terminal=file
Использовать указанный файл в качестве терминала вместо stdin/stdout. Это должно быть первым аргументом, указанным в командной строке.
--daemon[=name], --bg-daemon[=name]
Запустить Emacs как демон, включить Emacs-сервер и отключиться от терминала. Затем можно использовать команду [emacsclient](emacsclient(1)), чтобы подключиться к серверу (с необязательным именем).
--fg-daemon[=name]
Аналогично "--bg-daemon", но не отключаться от терминала.
--version
Отобразить информацию о версии Emacs и выйти.
--help
Отобразить справку и выйти.
Следующие параметры ориентированы на Lisp (эти параметры обрабатываются в том порядке, в котором они встречаются):
-f function, --funcall=function
Выполнить функцию Lisp с именем function.
-l file, --load=file
Загрузить код Lisp из файла file.
--eval=expr, --execute=expr
Вычислить выражение Lisp expr.
Следующие параметры полезны при запуске Emacs в качестве пакетного редактора:
--batch
Редактировать в пакетном режиме. Редактор будет отправлять сообщения в stderr. Необходимо использовать параметры -l и -f для указания файлов и функций для выполнения.
--script file
Запустить file как скрипт Emacs Lisp.
--insert=file
Вставить содержимое файла в текущий буфер.
--kill
Выйти из Emacs в пакетном режиме.
-L dir, --directory=dir
Добавить dir в список каталогов, в которых Emacs ищет файлы Lisp.
Использование Emacs с X
Emacs адаптирован для хорошей работы с X Window System. Если вы запускаете Emacs из-под X Window, он создаст собственное окно X для отображения. Вероятно, вы захотите запустить редактор как фоновый процесс, чтобы продолжить использовать исходное окно.
Emacs можно запустить со следующими параметрами X:
--name=name
Указать имя, которое должно быть присвоено исходному окну Emacs. Это контролирует поиск ресурсов X, а также заголовок окна.
--no-x-resources
Не загружать ресурсы X.
-T name, --title=name
Указать заголовок для исходного окна X.
-r, -rv, --reverse-video
Отображать окно Emacs в обратных цветах.
-fn font, --font=font
Установить шрифт окна Emacs на шрифт, указанный в font. Различные шрифты X можно найти в каталоге /usr/lib/X11/fonts. Обратите внимание, что Emacs принимает только шрифты фиксированной ширины. В соответствии с соглашениями об именовании шрифтов X11 Release 4, любой шрифт, у которого в одиннадцатом поле имени шрифта есть значение "m" или "c", является шрифтом фиксированной ширины. Кроме того, шрифты, имена которых имеют форму widthxheight, обычно имеют фиксированную ширину, как и шрифт fixed. См. [xlsfonts(1)](xlsfonts(1)) для получения дополнительной информации.
При указании шрифта убедитесь, что между переключателем и именем шрифта есть пробел.
--xrm=resources
Установить дополнительные ресурсы X.
--color, --color=mode
Переопределить режим цвета для символьных терминалов; по умолчанию режим имеет значение "auto", и может также иметь значение "never", "auto", "always" или имя режима, например "ansi8".
-bw pixels, --border-width=pixels
Установить ширину границы окна Emacs в количество пикселей, указанное в pixels. По умолчанию - один пиксель с каждой стороны окна.
-ib pixels, --internal-border=pixels
Устанавливает ширину внутренней границы окна в указанном количестве пикселей. По умолчанию используется внутренняя граница в один пиксель с каждой стороны окна.
-g geometry, --geometry=geometry
Устанавливает ширину, высоту и положение окна Emacs, как указано. Формат указания размеров соответствует стандартному формату X; подробности см. в X(7). Ширина и высота указываются в символах; по умолчанию для графических фреймов ширина составляет 80 символов, а высота — от 35 до 40, в зависимости от ОС и оконного менеджера. См. раздел «Параметры размера и положения окна» в руководстве Emacs для получения информации о том, как размеры окна взаимодействуют с отображением или сокрытием панели инструментов, панели вкладок и меню.
-lsp pixels, --line-spacing=pixels
Дополнительное пространство между строками.
-vb, --vertical-scroll-bars
Включить вертикальные полосы прокрутки.
-fh, --fullheight
Сделать первый фрейм высотой в полный экран.
-fs, --fullscreen
Сделать первый фрейм полноэкранным.
-fw, --fullwidth
Сделать первый фрейм шириной в полный экран.
-mm, --maximized
Развернуть первый фрейм на весь экран, как при использовании "-fw -fh".
-fg color, --foreground-color=color
На цветных дисплеях устанавливает цвет текста.
Используйте команду M-x list-colors-display, чтобы получить список допустимых имен цветов.
-bg color, --background-color=color
На цветных дисплеях устанавливает цвет фона окна.
-bd color, --border-color=color
На цветных дисплеях устанавливает цвет границы окна.
-cr color, --cursor-color=color
На цветных дисплеях устанавливает цвет текстового курсора окна.
-ms color, --mouse-color=color
На цветных дисплеях устанавливает цвет курсора мыши в окне.
-d displayname, --display=displayname
Создать окно Emacs на указанном дисплее. Должен быть первым параметром в командной строке.
-nbi, --no-bitmap-icon
Не использовать изображение пингвина в качестве значка Emacs.
--iconic
Запустить Emacs в свернутом состоянии.
-nbc, --no-blinking-cursor
Отключить мигающий курсор.
--parent-id=xid
Установить родительское окно.
-nw, --no-window-system
Указать Emacs не создавать графический фрейм. Если использовать этот параметр при запуске Emacs из окна xterm(1), вывод будет отображаться в этом окне.
-D, --basic-display
Этот параметр отключает многие функции отображения; используйте его для отладки Emacs.
Вы можете установить значения по умолчанию для окон Emacs в файле .Xresources (см. xrdb(1)). Используйте следующий формат:
emacs.keyword:value
где value указывает значение по умолчанию для параметра keyword. Emacs позволяет установить значения по умолчанию для следующих параметров:
background (класс Background)
На цветных дисплеях устанавливает цвет фона окна.
bitmapIcon (класс BitmapIcon)
Если значение bitmapIcon установлено в on, окно будет свернуто в виде "кухонной раковины".
borderColor (класс BorderColor)
На цветных дисплеях устанавливает цвет границы окна.
borderWidth (класс BorderWidth)
Устанавливает ширину границы окна в пикселях.
cursorColor (класс Foreground)
На цветных дисплеях устанавливает цвет текстового курсора окна.
cursorBlink (класс CursorBlink)
Определяет, должна ли мигать курсор. По умолчанию включено. Используйте off или false, чтобы отключить мигание курсора.
font (класс Font)
Задает шрифт текста окна.
foreground (класс Foreground)
Для цветных дисплеев задает цвет текста окна.
fullscreen (класс Fullscreen)
Желаемый размер полноэкранного режима. Значение может быть одним из fullboth, maximized, fullwidth или fullheight, что соответствует параметрам командной строки "-fs", "-mm", "-fw" и "-fh" соответственно. Обратите внимание, что это применяется только к первому кадру.
geometry (класс Geometry)
Задает геометрию окна Emacs (как описано выше).
iconName (класс Title)
Задает имя значка для значка окна Emacs.
internalBorder (класс BorderWidth)
Задает ширину внутренней границы окна в пикселях.
lineSpacing (класс LineSpacing)
Дополнительное пространство ("интерлиньяж") между строками, в пикселях.
menuBar (класс MenuBar)
Добавляет панели меню в кадры, если значение on; не добавляет панели меню, если значение off. См. руководство Emacs, разделы "Lucid Resources" и "Motif Resources", чтобы узнать, как управлять внешним видом панели меню, если она есть.
minibuffer (класс Minibuffer)
Если значение none, не создает мини-буфер в этом кадре. Будет использоваться отдельный кадр мини-буфера.
paneFont (класс Font)
Имя шрифта для заголовков панели меню в не-toolkit-версиях Emacs.
pointerColor (класс Foreground)
Для цветных дисплеев задает цвет курсора мыши окна.
privateColormap (класс PrivateColormap)
Если значение on, использует отдельную цветовую карту в случае, когда "default visual" класса PseudoColor и Emacs использует ее.
reverseVideo (класс ReverseVideo)
Если для reverseVideo установлено значение on, окно будет отображаться в обратных цветах.
screenGamma (класс ScreenGamma)
Гамма-коррекция для цветов, эквивалентна параметру кадра "screen-gamma".
scrollBarWidth (класс ScrollBarWidth)
Ширина полосы прокрутки в пикселях, эквивалентна параметру кадра "scroll-bar-width".
selectionFont (класс SelectionFont)
Имя шрифта для элементов выпадающего меню в не-toolkit-версиях Emacs. (Для toolkit-версий см. руководство Emacs, разделы "Lucid Resources" и "Motif Resources".)
selectionTimeout (класс SelectionTimeout)
Количество миллисекунд, которое необходимо ждать ответа на запрос выделения. Значение 0 означает, что нужно ждать столько, сколько потребуется.
synchronous (класс Synchronous)
Запускает Emacs в синхронном режиме, если значение on. Синхронный режим полезен для отладки проблем X.
title (класс Title)
Задает заголовок окна Emacs.
toolBar (класс ToolBar)
Количество строк, выделяемых для панели инструментов.
tabBar (класс TabBar)
Количество строк, выделяемых для панели вкладок.
useXIM (класс UseXIM)
Отключает использование методов ввода X (XIM), если значение false или off.
verticalScrollBars (класс ScrollBars)
Добавляет полосы прокрутки в кадры, если значение on; отключает полосы прокрутки, если значение off.
visualClass (класс VisualClass)
Укажите "visual", который должен использовать X. Это говорит X, как обрабатывать цвета. Значение должно начинаться с одного из TrueColor, PseudoColor, DirectColor, StaticColor, GrayScale и StaticGray, за которым следует -depth, где depth — это количество цветовых плоскостей.
РУКОВОДСТВА
Вы можете заказать печатные экземпляры руководства GNU Emacs в Free Software Foundation, организации, разрабатывающей GNU. Посетите онлайн-магазин по адресу [https://shop.fsf.org/]. Ваш системный администратор также может иметь доступ к этим экземплярам. Как и для любого другого программного обеспечения и публикаций от FSF, всем разрешено делать и распространять копии руководства Emacs. Исходный код Texinfo для руководства также включен в дистрибутив Emacs.
ФАЙЛЫ
/usr/local/share/info — файлы для программы просмотра документации Info. Полный текст справочного руководства Emacs представлен в удобной древовидной структуре. Это включает в себя справочное руководство по Emacs Lisp, полезное для тех, кто хочет писать программы на языке расширения Emacs Lisp, и «Введение в программирование на Emacs Lisp».
/usr/local/share/emacs/$VERSION/lisp — файлы исходного кода Lisp и скомпилированные файлы, которые определяют большинство команд редактирования. Некоторые из них загружаются при запуске, другие загружаются автоматически из этого каталога при использовании.
/usr/local/libexec/emacs/$VERSION/$ARCH — различные программы, используемые с GNU Emacs.
/usr/local/share/emacs/$VERSION/etc — различные информационные файлы.
/usr/local/share/emacs/$VERSION/etc/DOC.* — содержит строки документации для примитивов Lisp и предварительно загруженных функций Lisp GNU Emacs. Они хранятся здесь, чтобы уменьшить размер самого Emacs.
ОШИБКИ
Существует почтовая рассылка, _, для сообщения об ошибках и исправлениях Emacs. Но прежде чем сообщать о чем-либо как об ошибке, убедитесь, что это действительно ошибка, а не недоразумение или намеренная функция. Мы просим вас прочитать раздел «Сообщение об ошибках» в руководстве Emacs, чтобы узнать о том, как и когда сообщать об ошибках. Также, пожалуйста, указывайте версию Emacs, которую вы используете, в каждом отчете об ошибках, который вы отправляете. Ошибки, как правило, исправляются, если их можно изолировать, поэтому в ваших интересах сообщать о них таким образом, чтобы их можно было легко воспроизвести.
Не ожидайте личного ответа на отчет об ошибке. Цель сообщения об ошибках — исправить их для всех в следующем выпуске, если это возможно. Для получения личной помощи обратитесь к каталогу служб по адресу [https://www.fsf.org/resources/service/], где представлен список людей, предлагающих такую помощь.
Пожалуйста, не отправляйте ничего, кроме отчетов об ошибках, на этот почтовый список. Для получения информации о других списках рассылки Emacs посетите [https://savannah.gnu.org/mail/?group=emacs].
ОТСУТСТВИЕ ОГРАНИЧЕНИЙ
Emacs — это бесплатное программное обеспечение; любой может распространять копии Emacs кому угодно на условиях, указанных в GNU General Public License, копия которой прилагается к каждой копии Emacs, и которая также представлена в справочном руководстве.
Копии Emacs иногда могут поставляться в комплекте с дистрибутивами Unix, но это никогда не входит в сферу действия какой-либо лицензии, охватывающей эти системы. Такое включение нарушает условия, на которых разрешено распространение. Фактически, основная цель GNU General Public License — запретить кому-либо налагать какие-либо другие ограничения на распространение Emacs.
Ричард Столлман призывает вас улучшать и расширять Emacs и настоятельно рекомендует вам вносить свои расширения в библиотеку GNU. В конечном итоге GNU (GNU's Not Unix) станет полной заменой Unix. Каждый сможет свободно использовать, копировать, изучать и изменять систему GNU.
ССЫЛКИ
emacsclient(1), etags(1), X(7), xlsfonts(1), xterm(1), xrdb(1)
АВТОРЫ
Emacs был написан Ричардом Столлманом и Фондом свободного программного обеспечения. Подробные сведения и благодарности см. в руководстве GNU Emacs.
ЛИЦЕНЗИЯ
Авторское право 1995-2025, Фонд свободного программного обеспечения.
Разрешено создавать и распространять дословные копии этого документа при условии сохранения уведомления об авторских правах и настоящего уведомления о разрешении на всех копиях.
Разрешено копировать и распространять измененные версии этого документа на условиях дословного копирования, при условии, что вся полученная производная работа распространяется на условиях уведомления о разрешении, идентичного настоящему.
Разрешено копировать и распространять переводы этого документа на другой язык на вышеуказанных условиях для измененных версий, за исключением того, что настоящее уведомление о разрешении может быть представлено в переводе, утвержденном Фондом свободного программного обеспечения.
Гарантия отсутствует в максимально допустимой законом степени.