Текстовые редакторыВведение в Emacs

Emacs — один из наиболее мощных и широко распространённых текстовых редакторов, используемых в мире *nix. По популярности он соперничает с редактором vi и vi-подобными. Emacs — масштабируемая система и включает в себя многие функции, уходя от тривиального текстового редактора.
Emacs может:
— текстовым редактором;
— программой для чтения почты и новостей Usenet;
— интегрированной средой разработки (IDE);
— jabber client;
— twitter client;
— Да всем чем угодно;

Всё это разнообразие достигается благодаря архитектуре Emacs, которая позволяет масштабировать рдактор при помощи языка Emacs Lisp. На языке C написаны лишь самые базовые и низкоуровневые части Emacs, включая интерпретатор языка Lisp. Таким образом, Emacs имеет встроенный язык программирования, который может использоваться для настройки, расширения и изменения поведения редактора. В действительности, большая часть написана на языке Lisp.
Первая версия редактора Emacs была написана в 70-х Ричардом Столманом как набор макросов для редактора TECO. В дальнейшем, уже будучи основателем Фонда Свободного программного обеспечения Free Software Foundation и проекта GNU, Столман разработал GNU Emacs и до сих пор сопровождает эту программу. Здесь я не буду расписываь всю историю Emacs, кому интересно может прочитать в Wiki.
Используемая терминология:
Эти понятия помогут вам поближе познакомится с Emacs:

Буфера и файлы

Буфер — это основная единица редактирования; один буфер соответствует одному куску редактируемого текста. Вы можете иметь несколько буферов, но в каждый конкретный момент вы редактируете только один выбранный буфер. При этом, разумеется, если вы используете несколько окон, то видимыми могут быть несколько буферов. Чаще всего буферы обращаются к какому-либо файлу, считывая данные из файла в буфер, или записывая данные из буфера в файл. Вы встретите термин «буфер» в документации по Emacs, сообщениях программы, описаниях режимов и пакетов. Просто имейте в виду, что при работе с файлами буфер означает «копию файла, которая находится в памяти в данный момент». Однако необходимо отметить, что буфер не всегда соответствует какому-либо файлу на диске. Очень часто Emacs создаёт буферы в результате выполнения ваших команд. Такие буферы могут содержать вывод команды, список для выбора вариантов и другую информацию.

Точка, область и метка

Точка вставки — это место в буфере, в котором происходит вставка или удаление данных. Считается, что точка вставки находится между двумя знаками, а не на каком-то одном из них. Например, если курсор находится на букве «h» в слове «the», то точка вставки находится между «t» и «h». Курсор терминала показывает положение точки вставки.

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

Метка указывает на позицию в тексте. Она определяет один конец области, в то время как точка вставки находится на другом конце области. Многие команды работают с текстом целиком от точки вставки до метки. Каждый буфер имеет свою метку.

Окна и фреймы

Окно в Emacs — это область экрана, в которой отображается буфер. Когда Emacs запускается, у вас на экране отображается одно окно. При обращении к некоторым функциям Emacs (таким, как оперативная справка и интерактивная документация) часто (временно) открываются дополнительные окна на экране Emacs.

Окна Emacs не имеют ничего общего с окнами графической среды X Window. Одно окно X Window может быть разбито на несколько окон в смысле Emacs, в каждом из которых отображается отдельный буфер. Однако вы можете открывать для отображения буферов Emacs и дополнительные окна X, например, при сравнении двух файлов. Эти новые окна X в жаргоне Emacs называются фреймами.

Фрейм — это отдельное окно используемой оконной системы, в котором отображаются одно или несколько окон Emacs. При этом несколько фреймов, открытых одновременно, являются частью одного сеанса Emacs.

Знакомство непосредственно с Emacs:
Для того что бы запустить Emacs, нужно набрать в командной строке — emacs (либо xemacs, в зависимости что у вас установленно). Если у вас Emacs не установлен, то просто наберите в командной строке:
Для Debian:
apt-get install emacs

Для *buntu
sudo apt-get install emacs

Для Arch Linux
pacman -S emacs


После запуска появится окно (фрейм в терминах Emacs):


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

Для того что бы выйти из Emacs, есть как минимум два пути:
1) Из меню: File->Exit Emacs
2) Набрать сочетание клавиш C-x C-c (где C — Ctrl, c,x — клавиши с и x)

Ccылки по теме:
Официальный сайт Emacs
Клон — XEmacs
Emacs Wiki (ru)
Перевод GNU Emacs Refcard
  • +7
  • sterh
  • 27 октября 2009, 08:05

Комментарии (6)

  • avatar
  • krig
  • 27 октября 2009, 09:46
  • #
  • 1
Спасибо за введение. Будет ли продолжение?
Будет.
да хотелось бы поподробнее, потому что тут по большому счету ниочом)
Спасибо за критику. Учту ваши пожелания.
А мне понравилось — для «введения» как раз, то что надо.
Помнится — когда я пытался его осилить для меня было проблемой запустить его в консоли(уж очень сильно бесит перевернутый указатель мыши!!) :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.