Как настроить Emacs для программирования на Ruby за считанные секунды

Это краткая заметка о том, как за считанные секунды настроить редактор Emacs для программирования на Ruby.

Настройки для вашего emacs подробно описаны в этом блоге здесь.

Я лично в своей домашней папке Ubuntu Linux создал папку с именем emacs, чтобы поместить туда все настройки для моего emacs. Вот в этой папке я создаю папку для ruby и вхожу в нее:

$ mkdir -p ~/emacs/ruby
$ cd ~/emacs/ruby

Затем я git clone создал папку, содержащую init.el файл со всеми необходимыми настройками для программирования на Ruby:

$ git clone https://github.com/worace/emacs-for-ruby

А теперь идет шаг и знания, которые заняли большую часть времени, чтобы найти это:

Обычно люди с emacs делают что-то вроде

$ mv ~/.emacs.d ~/.emacs.d.orig
$ mv ~/some_settings_folder ~/.emacs.d

А позже приходится переименовывать папки обратно. Это довольно подвержено ошибкам.

Лучшее решение — запустить emacs следующим образом:

$ env HOME=$HOME/emacs/ruby/emacs-for-ruby emacs &

Это определяет папку, содержащую init.el для emacs, как $HOME для команды emacs &. Однако недостатком является то, что если вы вызываете системные команды из своего скрипта, используя абсолютные пути или пути, требующие вашего фактического $HOME.

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

Поскольку я хочу вызвать emacs для программирования на ruby ​​с помощью команды $ ruem (для rubyemacs), я добавляю в свой файл ~/.bashrc:

alias rubyemacs="env HOME=$HOME/emacs/ruby/emacs-for-ruby emacs &"
alias ruem="rubyemacs"

И source ~/.bashrc, и может вызвать мой emacs с настройками ruby:

$ ruem

В моем конкретном случае, поскольку мой emacs локально установлен в среде conda с именем emacs, я ввел в свой ~/.bashrc:

alias rubyemacs="source activate emacs && env HOME=$HOME/emacs/ruby/emacs-for-ruby emacs &"
alias ruem="rubyemacs"

Это сначала активирует среду conda с помощью source activate emacs (или conda activate emacs, прежде чем она вызовет emacs с вновь определенным $HOME.

Файл init.el emacs-for-ruby обеспечивает все необходимые установки на сайте emacs.