Emacs на рельсах…

…или рельсы на Emacs’е. Речь пойдет о том, как использовать emacs для разработки веб-приложений в среде RubyOnRails.

Многие сравнивают Emacs с текстовыми редакторами, такими как vim и т.п. На форумах уже пролилось не мало крови по этому поводу, что лучше, что удобнее… Но все почему то забывают тот простой факт, что Emacs – это не текстовый редактор и даже не текстовый процессор… Emacs – это интерпретатор языка Lisp! И так уж получилось, что основная мощь данного языка именно в случае с Emacs направлена именно на редактирование текстов. Хотя помимо этого существует еще целый набор программ на Lisp, которые позволяют проигрывать музыку, осуществлять удаленный доступ и т.д. и т.п.

Для того, чтобы эффективно использовать Emacs в разработке приложений в среде RubyOnRails достаточно установить ряд пакетов и прописать их использование в конфигурации Emacs. Этим и займемся…

$yaourt -S emacs-rails-mode-git emacs-snippet-template-mode  emacs-find-recursive  emacs-ruby-mode

Только что в системе оказались все необходимые модули для работы Emacs в среде RubyOnRails. Осталось указать их использование. Для этого прописываем в файле ~/.emacs следующие строки:

(defun try-complete-abbrev (old)
 (if (expand-abbrev) t nil))

(setq hippie-expand-try-functions-list
 '(try-complete-abbrev
 try-complete-file-name
 try-expand-dabbrev))

(require 'rails)

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

Как? Очень просто! В меню File появился новый пункт – Create Rails Project, выбрав который создаем новый проект Rails. Для этого достаточно будет только указать директорию, в которой будет размещен сам проект.

После чего откроется два буфера, в одном результат операции, то есть будет подробно указано, какие файлы и директории были созданы, а в другом откроется файл application_controler.rb, то есть файл, отвечающий за основу приложения.

Вид Emacs после создания приложения

Вид Emacs после создания приложения

Как видно из представленного скриншота, появляется целый набор пунктов меню, отвечающих за определенный круг задач. Тут и управление базой данных, и управление приложением и управление веб-сервером… Все необходимые операции, которые обычно выполняются в консоли, доступны непосредственно из самого Emacs.

Пользователи MacOS очень любят создавать Rails приложения в среде TexMate, обычный текстовый редактор, обладающий многими вкусностями, типа snippets… Так вот, в Emacs все это тоже есть, только в отличие от TextMate, тут все это предоставляется бесплатно!

Snippets… Как много в этом слове! Это сокращения, которые позволяют введя короткую аббревиатуру, развернуть ее в целую конструкцию, тем самым сокращая массу времени.

Меню snippets, раскрывающее основные сокращения

Меню snippets

На скриншоте показана лишь малая часть доступных сокращений…

Опять же из самого Emacs’a запускаем веб-сервер, при этом есть возможность указывать параметры командной строки при запуске и есть возможность выбора типа веб-сервера, который будет использоваться для запуска нашего приложения.

Рассказывать можно еще много про Rails-mode в среде Emacs… Но я не буду настолько подробно на нем останавливаться. Хочется лишь сказать, что подобные возможности я пока больше нигде не встречал, исключая конечно коммерческую программу TextMate под операционную систему MacOS.

И познать все тонкости данного режима работы можно только попробовав его в работе.

Похожие записи:

  1. Emacs Password Manager
  2. Emacs Tramp-mode
  3. Archlinux установка Ruby on Rails
  4. emacs –daemon
  5. Emacs jabber

Метки: ,

Отзывов (8) на «Emacs на рельсах…»

  • А я вот чего не понял, auto complete в ruby-mode работает или нет? И если да, то что он комплетит и как его запустить?

  • По сути я только начинаю копаться с руби… Поэтому особо не копал. Но судя по AutoCompete это прикручивается отдельно. И в данной статье я это не описывал. Как попробую – опишу…

  • Да, похоже autocomplete это лучший вариант. А пробовал nxhtml?

  • Нет, nxhtml не пробовал, пока нативный html-mode стоит… Редко что в хтмл пишу… а в руби-моде куча своих снипетов для этого дела есть.

  • nxhtml конечно слишком монстровый, но рекомендую на rhtml-mode глянуть

  • хмм… посмотрю, спасибо!! :)

  • Сам тоде решил осваивать emacs, как раз с ror. Вопрос, как там с поддержкой html.erb, (подсветка, автоформат), насколько сложно прикрутить haml?

    статью бы переписать с учетом применения git://github.com/dima-exe/emacs-rails-reloaded.git

    ЗЫ можно прикрутить, чтобы интеграция с apidoc выполнялась средствами стандатного emacs браузера?

  • html.erb очень хорошо поддерживается, тем более при использовании дополнительных режимов… статью пока переписывать не собираюсь, застопорилось у меня пока все с ror, разбираться нет времени, а пока не разберусь, писать не буду.

Вы можете оставить свой комментарий...

Имя (required)
Почта (обязательно)
Сайт