Emacs (Cocma Emacs) против Aquamacs для запуска Clojure в Mac OS X
До сих пор я использовал Aquamacs, и мне нужно установить и запустить Clojure, используя SLIME. Я погуглил, чтобы найти способ использовать Clojure на SLIME Aquamacs, но безуспешно.
Вопросы
- Можно ли установить Clojure на Aquamacs? Или вы можете догадаться, почему Clojure на Aquamacs не работает?
- Это нормально, что Emacs и Aquamacs не могут использовать один и тот же ELPA?
- Можно ли использовать ELPA для установки Conjure на Emacs/Aquamacs?
- Мне сказали, что можно использовать "lein swank" для запуска в качестве сервера, вы знаете, как это сделать?
Последовательности, которые я пробовал (и половина удалась)
Я попытался с Mac OS X Emacs, и, следуя инструкциям, я смог заставить его работать. Я имею в виду, я мог бы запустить Clojure с SLIME.
Emacs для Mac OS X
Шаг 1) Установите ESK.
- Git clone и скопируйте все файлы в
.emacs.d
каталог - Добавьте следующий код в
.emacs
и перезапустить
(когда (нагрузка (развернуть имя-файла "~/.emacs.d/package.el")) (Пакет инициализации))
Шаг 2) Установите с помощью ELPA
- Mx package-list-packages для выбора пакетов
- устанавливать
- clojure-mode, clojure-test-mode
- слизь, слизь-репл
- Суонк-Clojure
- Mx слизь, чтобы установить clojure
- Добавьте следующий код в
.emacs
и перезапустить
;; закрытый режим (добавить в список "путь загрузки"/Users/smcho/.emacs.d/elpa/clojure-mode-1.7.1") (требуются автозагрузки clojure-mode) (добавить в список "путь загрузки"/Users/smcho/.emacs.d/elpa/clojure-test-mode-1.4") (требуются автозагрузки clojure-test-mode-autoloads) ;; тина;(setq inferior-lisp-program "/Users/smcho/bin/clojure") (добавить в список "путь загрузки"/Users/smcho/.emacs.d/elpa/slime-20100404") (требуют 'слизи-автозагрузки) (добавить в список "путь загрузки"/Users/smcho/.emacs.d/elpa/slime-repl-20100404") (требуется 'slime-repl-autoloads) ;; Суонк-Clojure (добавить в список "путь загрузки"/Users/smcho/.emacs.d/elpa/swank-clojure-1.1.0") (требуется 'slime-repl-autoloads)
Aquamacs
Теперь я мог использовать Clojure на Emacs, я попробовал тот же (или очень похожий) метод, чтобы еще раз запустить Clojure на Aquamacs.
Шаг 1) Установите ESK для Aquamacs
- Скопируйте файлы в ~/Library/Preference/Aquamacs Emacs
- Измените "~/Library/Preferences/Aquamacs Emacs/Preferences.el", чтобы добавить следующее
(setq kitfiles-dir (concat (file-name-directory (или (имя-файла-буфера) имя-файла-загрузки)) "/ aquamacs-emacs-starter-kit")) ; настроить наши различные каталоги для загрузки (add-to-list 'путь загрузки kitfiles-dir) (требуется 'init)
Шаг 2) * Выполните тот же шаг, что и раньше, чтобы установить все (одинаковые) пакеты, но "Mx slime" выдает мне следующее сообщение об ошибке. "Определение функции символа недействительно: define-slime-contrib"
ЭЛПА
Я пытался объединить пакеты от Emacs и Aquamacs, но они не объединяются. Я думал, что могу использовать сам ELPA, а не из ESK, чтобы сделать его общим.
Результат был не очень хорошим, так как ELPA не смогла загрузить пакет "Свон-заклинание".
Успех - Запуск Aquamacs/Clojure с "lein swank".
Пожалуйста, обратитесь к этому.
3 ответа
Aquamacs наиболее определенно работает с Clojure, поскольку автор Clojure использует его. Тем не менее, я использую Emacs, и после того, как вы выполните описанные выше шаги в разделе Emacs, я рекомендую проверить labrepl,
http://github.com/relevance/labrepl
Если у вас нет leiningen, ссылка для его получения и установки приведена в инструкции к файлу labrepl readme. Я обнаружил, что это чрезвычайно полезно, когда впервые узнал, как настроить среду для программирования Clojure. Вы можете разобрать project.clj
файл в labrepl и собрать вместе, как это работает довольно легко. Не говоря уже об уроках и обучении во встроенном веб-приложении, которое поставляется с labrepl.
Если вы хотите использовать вместо этого lein swank:
Убедитесь, что вы установили leiningen. В ваших зависимостях dev.clj для проекта вы хотите иметь такую запись:
[leiningen/lein-swank "1.1.0"]
http://clojars.org/leiningen/lein-swank
Затем, после того как вы сделали lein deps
ты должен быть в состоянии бежать lein swank
а затем изнутри Emacs запустить M-x slime-connect
и просто нажмите Enter через значения по умолчанию.
Если вы собираетесь пойти по этому пути, вот ссылка непосредственно на leiningen, чтобы вы могли пропустить хранилище labrepl: http://github.com/technomancy/leiningen
Я обнаружил, что это самая простая установка для последней версии всего. Вот краткое резюме, где я предполагаю, что вы установили leiningen.
Установите плагин swank-clojure
$ lein plugin install swank-clojure 1.3.2
Создайте свой закрытый проект
$ lein new test-project
$ cd test-project
$ lein deps
Затем откройте один из файлов clojure из вашего проекта в emacs и запустите clojure-jack-in
M-x clojure-jack-in
Теперь вы находитесь в буфере слизи с clojure и загружены зависимости для вашего проекта.
Пол Барри читает лекцию о том, как использовать Aquamacs и Clojure.
Это просто, так как вы можете добавить этот код в .emacs
файл,
(add-to-list 'путь загрузки "~/clojure/clojure-mode") (setq inferior-lisp-program "/Users/smcho/bin/clj") (требуется 'clojure-mode) (setq auto-mode-alist (cons '("\\.clj\\'" . clojure-mode) авто-режим-крен)) (add-hook 'clojure-mode-hook (лямбда () (define-key clojure-mode-map "\Cc\Ce" 'lisp-eval-last-sexp)))
Я мог запустить 'Mx clojure-mode' и Cc Cz для REPL.
И, как меня спросили и ответили в Запуск Clojure и других Lisp одновременно на Emacs, я мог бы использовать и Clojure / Lisp на Aquamacs.