Question

J'ai essayé de migrer vers Emacs plusieurs fois pour le développement Clojure, suite à une variété de blogposts, screencast et tutoriels, mais quelque part le long de la façon quelque chose allait toujours mal - keybindings qui ne fonctionnent pas, des versions incompatibles, etc., et Je me suis retrouvé de brouillage avec vim. Mais je sais que je veux Paredit et BOUE.

Alors, je vais essayer à nouveau, cette fois soutenu par la puissante Stack Overflow communauté ™.

J'espère que la réponse à cette question sera rester à jour, et peut servir de référence pour les convertis provisoires comme moi.

Ce que je voudrais est:

  • La dernière version stable de Clojure
  • Aquamacs (si elle est assez bon pour Rich Hickey, il est assez bon pour moi), une version récente
  • Mode de Clojure
  • BOUE / SWANK
  • Paredit
  • Tout le reste qui est indispensable?

étape par étape les instructions pour installer le seraient plus qu'excellent - de préférence au format de script shell. Je voudrais aussi quelques conseils sur la façon de commencer avec les plus courantes des actions liées à Clojure (y compris les liaisons clés), y compris les liens vers la documentation et cheatsheets.

Était-ce utile?

La solution

Ce sont les étapes de mon travail pour les mettre en place sans utiliser ELPA. Espérons que cela aide.

Obtenir BOUE en utilisant MacPorts

sudo port -v install slime

Get paredit

curl -O http://mumble.net/~campbell/emacs/paredit.el

Get clojure & clojure-contrib

  • utilisez MacPorts
sudo port -v install clojure clojure-contrib
  • Ou télécharger directement
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

Get clojure-mode et swank-clojure (côté Emacs)

git clone http://github.com/technomancy/clojure-mode.git
git clone http://github.com/technomancy/swank-clojure.git

Get Swank-clojure (côté Clojure)

  • Soit le téléchargement de fichier jar pré-construit
curl -O http://repo.technomancy.us/swank-clojure-1.1.0.jar
  • Ou de la source la construction (en supposant lein est installé)
cd path/to/dir/swank-clojure
lein jar

Mettre Clojure, Clojure-contrib et Swank-Clojure fichiers .jar dans ~ / .swank-Clojure ou ~ / .clojure (les lieux par défaut où les recherches Swank-clojure.el pour eux).


Ajouter soit ~ / emacs ou ~ / Library / Preferences / Aquamacs Emacs / customization.el (chemins de changement en fonction de vos propres paramètres)

(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/*")))

Autres conseils

Téléchargez et installez Aquamacs.

Téléchargez et installez ELPA ( http://tromey.com/elpa/install.html)

Do M-x paquet-list-packages

Marquer les lignes dites "clojure-mode" et "Swank-clojure" avec "I" puis appuyez sur "X".

Fait.

Il semble y avoir un moyen assez facile à mettre en place Aquamacs 2.4 et SLIME pour clojure:

  1. Installer Clojure
  2. Installer Aquamacs 2.4 d'ici "http://aquamacs.org/"
  3. Installez le package Aquamacs BOUE d'ici "http://aquamacs.org/download.shtml"

ne fonctionnera pas so ...

  1. Obtenir la dernière version de BOUE d'ici « http://common-lisp.net/project/slime/#downloading » - vous voulez que le fichier tar instantané CVS
  2. Décompressez le fichier tar SLIME et le copier dans / Bibliothèque / Application Support / Aquamacs Emacs / BOUE

Cela semble ok pour moi ...

Je sais que l'OP veut utiliser Emacs pour Clojure dev. Je suis un fan de emacs moi-même, mais j'ai trouvé à l'aide Enclojure ( http://www.enclojure.org/home ) être un excellent moyen de démarrer rapidement avec le piratage Clojure.

Aujourd'hui, je la tête https://github.com/tehcurtis/aquamacs -emacs-kit de démarrage / réseau

est pour le rubis et ne fonctionnera pas au début, mais de toute façon. clone git et copier les choses à Preferences.el selon readme. Fixer le brisement par modifier le répertoire ~ / Library / Preferences / Aquamacs Emacs / et commenter presque tout modes.el (je ne (setq-default indent-tabs mode nul) gauche dans le fichier)

La bonne: vous avez installé ELPA-package-manager avec moins de tracas

: utiliser

M-x package-list-packages

aller à

clojure-mode   (press I)
slime          (press I)
slime-repl     (press I)

Press X to install

fait.

Caveat: clojure-jack-in ne fonctionnera pas si vous avez à

M-x slime-connect

et appuyez sur Entrée deux fois et y commencer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top