Я попытался мигрировать на Emacs несколько раз для разработки Clojure, после множества сообщений в блоге, скринкаста и учебных руководств, но где-нибудь по пути что-то всегда шло не так, как надо - привязки клавиш, которые не работали, несовместимые версии, и т.д., и я боролся назад Vim. Но я знаю, что хочу Paredit и SLIME.
Так, я собираюсь попробовать еще раз, на этот раз поддержанный мощным Стеком сообщество Overflow™.
Я надеюсь, что ответ на этот вопрос останется актуальным, и может служить ссылкой для предварительных преобразований как я.
То, что я хотел бы:
Пошаговые инструкции установить вышеупомянутое были бы превосходны - предпочтительно в формате сценария оболочки. Я также хотел бы некоторые подсказки, как начать с наиболее распространенными Clojure-связанными действиями (включая привязки клавиш), включая ссылки на документацию и cheatsheets.
Это шаги, которые я взял, чтобы установить их без использования ELPA. Надеюсь это поможет.
Получить слизь, используя MacPorts
sudo port -v install slime
Получить PareDit
curl -O http://mumble.net/~campbell/emacs/paredit.el
Получить CLOJURE & CLOJURE-ВКЛЮЧЕНИЕ
sudo port -v install clojure clojure-contrib
curl -O http://build.clojure.org/snapshots/org/clojure/clojure/1.1.0-master-SNAPSHOT/clojure-1.1.0-master-20091202.150145-1.jar curl -O http://build.clojure.org/snapshots/org/clojure/clojure-contrib/1.1.0-master-SNAPSHOT/clojure-contrib-1.1.0-master-20091212.205045-1.jar
Получить режим Clojure и Swank-Clojure (EMACS)
git clone http://github.com/technomancy/clojure-mode.git
git clone http://github.com/technomancy/swank-clojure.git
Получите Swank-Clojure (сторона Clojure)
curl -O http://repo.technomancy.us/swank-clojure-1.1.0.jar
cd path/to/dir/swank-clojure lein jar
Положите CLOJURE, CLOJURE-INPUT и SWANK-CLOJURE. /.swank-Clojure или ~ / .Clojure (места по умолчанию, где Swank-Clojure.el ищет их).
Добавить в ~ / .emacs или ~ / библиотеку / предпочтения / aquamacs emacs / statuation.el (изменение путей, чтобы соответствовать вашим собственным настройкам)
(add-to-list 'load-path "/opt/local/share/emacs/site-lisp/slime/") (add-to-list 'load-path "/opt/local/share/emacs/site-lisp/slime/contrib/") ;; Change these paths to match your settings (add-to-list 'load-path "path/to/dir/clojure-mode/") (add-to-list 'load-path "path/to/dir/swank-clojure/") (add-to-list 'load-path "path/to/dir/paredit/") ;; Customize swank-clojure start-up to reflect possible classpath changes ;; M-x ielm `slime-lisp-implementations RET or see `swank-clojure.el' for more info (defadvice slime-read-interactive-args (before add-clojure) (require 'assoc) (aput 'slime-lisp-implementations 'clojure (list (swank-clojure-cmd) :init 'swank-clojure-init))) (require 'slime) (require 'paredit) (require 'clojure-mode) (require 'swank-clojure) (eval-after-load "slime" '(progn ;; "Extra" features (contrib) (slime-setup '(slime-repl slime-banner slime-highlight-edits slime-fuzzy)) (setq ;; Use UTF-8 coding slime-net-coding-system 'utf-8-unix ;; Use fuzzy completion (M-Tab) slime-complete-symbol-function 'slime-fuzzy-complete-symbol) ;; Use parentheses editting mode paredit (defun paredit-mode-enable () (paredit-mode 1)) (add-hook 'slime-mode-hook 'paredit-mode-enable) (add-hook 'slime-repl-mode-hook 'paredit-mode-enable))) ;; By default inputs and results have the same color ;; Customize result color to differentiate them ;; Look for `defface' in `slime-repl.el' if you want to further customize (custom-set-faces '(slime-repl-result-face ((t (:foreground "LightGreen"))))) (eval-after-load "swank-clojure" '(progn ;; Make REPL more friendly to Clojure (ELPA does not include this?) ;; The function is defined in swank-clojure.el but not used?!? (add-hook 'slime-repl-mode-hook 'swank-clojure-slime-repl-modify-syntax t) ;; Add classpath for Incanter (just an example) ;; The preferred way to set classpath is to use swank-clojure-project (add-to-list 'swank-clojure-classpath "path/to/incanter/modules/incanter-app/target/*")))
Скачать и установить Aquamacs.
Скачать и установить ELPA ( http://troomey.com/elpa/install.html )
DO MX Package-Packages
Отметьте линии под названием «Clojure-Mode» И «Swank-Clojure» с «я», затем нажмите «X».
сделано.
Вот пост в блоге, который упоминает Aquamacs: Настройка Clojure, Ancanter, Emacs, Slime, Swank и Paredit
Я знаю, что операционная хочет использовать Эмакс для Клоджур Дев. Я сам фанат Emacs, но я нашел использование Enclojure (http://www.enclojure.org/home) отличным способом быстро начать со взлома Clojure.