emacs - ¿Cómo configurar Aquamacs para el desarrollo de Clojure?
slime paredit (6)
Intenté migrar a Emacs varias veces para el desarrollo de Clojure, siguiendo una variedad de publicaciones de blog, screencast y tutoriales, pero en algún punto del camino algo siempre salió mal: combinaciones de teclas que no funcionaron, versiones incompatibles, etc., y me encontré a mí mismo luchando de regreso a Vim. Pero sé que quiero Paredit y SLIME.
Por lo tanto, voy a intentarlo de nuevo, esta vez respaldado por la poderosa comunidad StackOverflow ™.
Espero que la respuesta a esta pregunta permanezca actualizada y pueda servir como referencia para conversos tentativos como yo.
Lo que me gustaría es: - La última versión estable de Clojure - Aquamacs (si es lo suficientemente bueno para Rich Hickey, es lo suficientemente bueno para mí), una versión reciente - Modo Clojure - SLIME / SWANK - Paredit - ¿Algo más que sea indispensable?
Las instrucciones paso a paso para instalar lo anterior serían excelentes, preferiblemente en formato de script de shell. También me gustaría obtener algunos consejos sobre cómo comenzar con las acciones más comunes relacionadas con Clojure (incluidas las vinculaciones de teclas), incluidos enlaces a documentación y hojas de prueba.
Aquí hay una publicación de blog que menciona Aquamacs: Configuración de Clojure, Incanter, Emacs, Slime, Swank y Paredit
Descargue e instale Aquamacs.
Descargue e instale ELPA ( http://tromey.com/elpa/install.html )
Hacer paquetes de listas de paquetes Mx
Marque las líneas llamadas "clojure-mode" y "swank-clojure" con "I" y luego presione "X".
Hecho.
Estos son los pasos que tomé para configurarlos sin usar ELPA. Espero que esto ayude.
Obtén SLIME usando MacPorts
sudo port -v install slime
Obtener un crédito
curl -O http://mumble.net/~campbell/emacs/paredit.el
Obtenga clojure y clojure-contrib
- Ya sea usando MacPorts
sudo port -v install clojure clojure-contrib
- O descargando directamente
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
Obtén clojure-mode y swank-clojure (lado de Emacs)
git clone http://github.com/technomancy/clojure-mode.git
git clone http://github.com/technomancy/swank-clojure.git
Obtener swank-clojure (lado Clojure)
- Ya sea descargando archivo jar preconstruido
curl -O http://repo.technomancy.us/swank-clojure-1.1.0.jar
- O construyendo desde la fuente (suponiendo que esté instalado lein)
cd path/to/dir/swank-clojure lein jar
Coloque los archivos clojure, clojure-contrib y swank-clojure .jar en ~ / .swank-clojure o ~ / .clojure (los lugares predeterminados donde swank-clojure.el los busca).
Agregue a ~ / .emacs o ~ / Library / Preferences / Aquamacs Emacs / customization.el (cambie las rutas para que coincidan con su propia configuración)
(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/*")))
Hoy me dirigiría a https://github.com/tehcurtis/aquamacs-emacs-starter-kit/network
esto es para ruby y no funcionará al principio, pero de todos modos. git clone y copie cosas en Preferences.el según el archivo léame. Arregle las fallas editando ~ / Library / Preferences / Aquamacs Emacs / y comente casi todo en modes.el (solo tengo (setq-default sangr-tab-mode nil) en el archivo)
La parte buena: has instalado elpa-package-manager con menos complicaciones
Ahora usa
M-x package-list-packages
ir
clojure-mode (press I)
slime (press I)
slime-repl (press I)
Press X to install
hecho.
Advertencia: clojure-jack-in no funcionará así que tienes que
M-x slime-connect
y presione enter dos e y para comenzar.
Parece que hay una manera bastante fácil de configurar Aquamacs 2.4 y SLIME para clojure:
- Instalar Clojure
- Instale Aquamacs 2.4 desde aquí "http://aquamacs.org/"
- Instale el paquete Aquamacs SLIME desde aquí "http://aquamacs.org/download.shtml"
Esto no funcionará así que ...
- Obtenga la última versión de SLIME desde aquí "http://common-lisp.net/project/slime/#downloading" - desea el archivo tar de instantáneas de CVS
- Desempaquete el archivo tar SLIME y cópielo en / Library / Application Support / Aquamacs Emacs / SLIME
Parece que funciona bien para mí ...
Sé que OP quiere usar Emacs para Clojure dev. Soy fan de emacs, pero me pareció que usar Enclojure ( http://www.enclojure.org/home ) es una gran manera de comenzar rápidamente con la piratería de Clojure.