GNU Emacs. Часть 2. Работа с MELPA

Теперь, давайте расширим настроим ваш Emacs! После установки, необходимо создать файл ~/.emacs в домашней директории (~/ - обозначение вашей домашней директории, ./ - работа в папке, в которой вы находитесь). Из данного файла Emacs будет считывать основные настройки, написанные на языке Emacs Lisp (Elisp, диалект Lisp) - и его вполне можно редактировать (даже не зная синтаксиса Elisp - просто искать примеры в сети и подключать желаемый функционал в вашем ~/.elisp).

Как мы уже говорили, у Emacs есть собственный репозиторий с более чем 3000 пакетов на все случаи жизни - можно настроить Emacs так, что выходить в основную систему придется только для включения/выключения. Вообще таких репозиториев несколько - Elpa, Melpa и не только, в данной статье воспользуемся Melpa. Вот и подключим его, для начала. Откройте файл ~/.emacs и добавьте строки:

 

(when (>= emacs-major-version 24)

  (require 'package)

  (package-initialize)

  (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)

)

 

Сохраните, перезагрузите Emacs, с помощью Alt-X введите команду list-packages, и вуаля:

Emacs

 

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

Гуглим «emacs themes», и идем, к примеру, сюда

http://emacsthemes.caisah.info/

Выберем любую понравившуюся тему, например, Zenburn: http://emacsthemes.caisah.info/zenburn-theme/

Она доступна в репозиториях Melpa. Зайдем на домашнуюю страницу Zenburn на Github - там, как правило, есть инструкция по установке. Теперь вернемся в буфер с пакетами, воспользуемся поиском Ctrl-S, найдем пакет zenburn-theme и в нижнем буфере кликнем на Install:

Emacs

 

Тема установлена, но для её загрузки при старте, нужно добавить в ./emacs строку:

 

(load-theme 'zenburn t)

 

Сохраняем, перезагружаем Emacs, и:

Emacs

 

Когда научитесь работать с сочетаниями, вы, возможно, захотите убрать тулбар с иконками - он будет лишь мешать и занимать лишнее место. Для этого, просто пропишите в ~/.emacs строку:

 

(tool-bar-mode -1)

 

И:

Emacs

 

Так-то лучше.

Melpa, Elpa и пр.- не единственный способ добавить какой-либо пакет в Emacs (к тому же, далеко не все пакеты есть в репозитории). Можно сделать это в ручную, и, как правило, все инструкции лежат вместе с пакетом и сводятся к «положить файл в ~/emacs.d (домашняя директория emacs), и добавить такую-то команду в ~/.emacs). Для начала этого будет достаточно, а спустя некоторое время работы, вы сами начнете понимать, как функционирует Emacs и сможете даже писать собственные расширения.

Подобным образом, можно добавлять в Emacs любые расширения, и удивляться, сколь же не многое он способен. К примеру, Emacs может читать PDF и .doc - это очень удобно при обучении программированию. Ранее эту функцию - режим DocView - требовалось подключать отдельно, теперь же она есть «из коробки», как и браузер (о котором позже), и ещё много чего. Подробнее о ней:

https://www.gnu.org/software/emacs/manual/html_node/emacs/Document-View.html

Чтобы читать PDF - нужно просто открыть файл с ним с помощью Ctrl-x Ctrl-f, и тогда буфер с открытым файлом автоматически перейдет в DocView mode.

Emacs

 

PDF в данном случае преобразуется в PNG - то есть обычные изображения, с ледовательно работать с ним как с текстом не получится. Увеличение и уменьшение производится по + и  - , с помощью Space и Bakspace можно перемещаться на один экран (не не страницу, а на следующую видимую область страницы) вперед / назад, а команда doc-view-search (команды, напомним, вводятся по M-x) служит для поиска по документу.

Также, с версии 24.4, нативной функцией Emacs стал браузер, eww (Emacs Web Wowser) - и весьма неплохой браузер! Для постоянной работы он, конечно, не подходит, но когда нужно быстро что-нибудь проверить или держать на виду какую-нибудь онлайн-энциклопедию - штука незаменимая (к тому же, в отличие от большинства консольных браузеров, eww поддерживает изображения.

Emacs

 

Войти в браузер можно по M-x eww, тут же откроется окно для ввода URL. Перезагрузить страницу можно по M-x eww-reload, а eww-copy-page-url - копирует URL страницы в буфер обмена. Также есть инструменты для просмотра кода страницы, загрузки, и история. Больше информации о eww:

https://www.gnu.org/software/emacs/manual/html_node/eww/

https://www.gnu.org/software/emacs/manual/html_node/eww/Basics.html#Basics

http://ergoemacs.org/emacs/emacs_eww_web_browser.html

Также, одной из забавных функций Emacs является режим психотерапевта (а после Emacs вам наверняка потребуется психотерапевт:) - реализация программы ELIZA, с которой вполне можно поговорить.

http://en.wikipedia.org/wiki/ELIZA

Emacs

 

Несмотря на свою мнимую сложность и прочие недостатки - Emacs есть за что любить. Какой ещё текстовый редактор позволит вам работать с Jabber и слушать музыку, не выходя из основного окна? Такие функции, конечно, не входят в базовую поставку - но их запросто можно доустановить, из того же MELPA, или из репозитория самих разработчиков. В качестве Jabber-клиента для Emacs, популярность приобрел jabber.el (правда, на момент написания статьи git-репозиторий разработчиков лежал, так что установим из Melpa). Просто откройте список пакетов по M-x list-packages, и найдите по Ctrl-S «jabber»:

Emacs

 

Установив, перезапустите Emacs и после, можно работать с Jabber. Правда, для начана нужно ввести данные аккаунта - для этого войдите в меню по M-x jabber-customize. Введя данные в Jabber Account List, подключайтесь к серверу по M-x jabber-connect (для дисконнекта, соотстветственно, M-x jabber-disconnect), и вуаля - вы онлайн. Перейти в список контактов можно по M-x jabber-switch-to-roster-buffer.

Emacs

 

Больше о jabber.el:

http://habrahabr.ru/post/28943/

http://habrahabr.ru/post/164573/

http://alexott.net/ru/emacs/emacs-im/EmacsJabber.html

За время существования Emacs, подобных расширений вышло более чем достаточно, так что если вдруг решите, что для работы вам чего-то не хватает - просто загуглите «Emacs [это]» - наверняка кто-то уже реализовал его в Emacs.

Компьютерный портал "Компаньон" © 2016.
В случае перепечатки материалов обязательна прямая ссылка на сайт cs-companion.ru.