Когда используешь Емакс достаточно долго, накапливается большое количество всяких сторонних .el-файлов, пакетов собственно. Всякие yasnippet, grep+, smex’ы и прочие ack’и. Само по себе это, конечно, клёво, но за ними приходится следить, обновлять руками, ложить их в тот же репозиторий с емаксовыми конфигами - а это уже как-то не совсем кайфово, ну и в общем нет чувства икебаны, откровенно говоря. :)
Но тут на прошлой неделе по наводке @helge9210 я пристально посмотрел на el-get и за один вечер на него перешёл. :)
Вкратце - это apt-get
для Emacs’a. Пишешь в конфиг емакса декларацию о
том, чего ты хочешь видеть, как это скачать, что нужно выполнить после
того, как пакет будет на месте - и всё начинает работать автоматически.
Всë - это значит, что при старте емакса происходит проверка, на месте ли
пакет, при необходимости скачивается, байт-компилируется и добавляется в
load-path
.
Я себе написал небольшой макрос для облегчения жизни, и теперь большая часть пакетов у меня загружается простой инструкцией:
(el-get-add (:name ack))
Тут конечно есть небольшая хитрость - ack.el
есть в списке рецептов
el-get’a, но если чего нет, то дело это сильно не осложняет:
(el-get-add (:name project-root :type hg :url “http://hg.piranha.org.ua/project-root/" :features project-root :after (lambda () “…код инициализации project-root…”)))
Я думаю, что большая часть параметров тут сама собой понятна, а
:features project-root
всего лишь значит, что нужно вызвать
(require 'project-root)
.
Инсталляция el-get предельно проста и описана в
README, после чего он
оказывается установленным в ~/.emacs.d/el-get/el-get/
(~/.emacs.d/el-get/
- общее место для инсталляции пакетов). В общем,
клёвая штука, рекомендую. :)