Frage

ich benutzte Aquamacs soweit, und ich muss es installieren und ausführen Clojure verwenden SCHLEIM.Ich habe gegoogelt, um eine Möglichkeit zu finden, Clojure auf SLIME von Aquamacs zu verwenden, aber ohne Erfolg.

Fragen

  1. Ist es möglich, Clojure auf Aquamacs zu installieren?Oder können Sie erraten, warum Clojure auf Aquamacs nicht funktioniert?
  2. Ist es normal, dass Emacs und Aquamacs nicht dasselbe teilen können? EL PA?
  3. Ist es möglich, ELPA zur Installation von Conjure auf Emacs/Aquamacs zu verwenden?
  4. Mir wurde gesagt, dass man „Lein Swank“ als Server verwenden kann. Wissen Sie, wie das geht?

Sequenzen, die ich ausprobiert habe (und die zur Hälfte gelungen sind)

Ich habe es mit versucht Mac OS X Emacs, und indem ich die Schritte befolgte, konnte ich es zum Laufen bringen.Ich meine, ich könnte Clojure mit SLIME ausführen.

Emacs für Mac OS X

Schritt 1) ​​Installieren ESK.

  • Git klonen und kopieren Sie alle Dateien in das .emacs.d Verzeichnis
  • Fügen Sie den folgenden Code hinzu .emacs und Neustart
    (when
        (load
         (expand-file-name "~/.emacs.d/package.el"))
      (package-initialize))

Schritt 2) Installation mit ELPA

  • M-x package-list-packages zur Auswahl von Paketen
  • Installieren
    • Clojure-Modus, Clojure-Testmodus
    • Schleim, Schleim-Repl
    • protzig-clojure
  • M-x Schleim, um die Clojure zu installieren
  • Fügen Sie den folgenden Code hinzu .emacs und Neustart
;; clojure mode
(add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/clojure-mode-1.7.1")
(require 'clojure-mode-autoloads)
(add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/clojure-test-mode-1.4")
(require 'clojure-test-mode-autoloads)

;; slime
;(setq inferior-lisp-program "/Users/smcho/bin/clojure")
(add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/slime-20100404")
(require 'slime-autoloads)
(add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/slime-repl-20100404")
(require 'slime-repl-autoloads)

;; swank-clojure
(add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/swank-clojure-1.1.0")
(require 'slime-repl-autoloads)

Aquamacs

Jetzt konnte ich Clojure auf Emacs verwenden. Ich habe die gleiche (oder eine sehr ähnliche) Methode erneut ausprobiert, um Clojure auf Aquamacs auszuführen.

Schritt 1) ​​Installieren ESK für Aquamacs

  • Kopieren Sie die Dateien nach ~/Library/Preference/Aquamacs Emacs
  • Ändern Sie „~/Library/Preferences/Aquamacs Emacs/Preferences.el“, um Folgendes hinzuzufügen
(setq kitfiles-dir (concat (file-name-directory
                    (or (buffer-file-name) load-file-name)) "/aquamacs-emacs-starter-kit"))

; set up our various directories to load
(add-to-list 'load-path kitfiles-dir)  
(require 'init)

Schritt2) * Folgen Sie den gleichen Schritt wie zuvor, um alle (gleichen) Pakete zu installieren, aber "MX Slime" gibt mir die folgende Fehlermeldung.„Die Funktionsdefinition des Symbols ist ungültig:define-slime-contrib"

EL PA

Ich habe versucht, die Pakete von Emacs und Aquamacs zu kombinieren, aber sie passen nicht zusammen.Ich dachte, ich könnte das gebrauchen EL PA selbst, nicht vom ESK, um es gemeinsam zu nutzen.

Das Ergebnis war nicht gut, da ELPA das protzige Paket nicht herunterladen konnte.

Erfolg – ​​Aquamacs/Clojure mit „lein swank“ ausführen.

Bitte beziehen Sie sich auf Das.

War es hilfreich?

Lösung

Aquamacs funktioniert definitiv mit Clojure, da der Autor von Clojure es verwendet.Allerdings verwende ich Emacs, und nachdem Sie die oben genannten Schritte im Abschnitt „Emacs“ ausgeführt haben, empfehle ich Ihnen, labrepl auszuprobieren.

http://github.com/relevance/labrepl

Wenn Sie Leiningen nicht haben, finden Sie den Link zum Herunterladen und Installieren in den Anweisungen der Labrepl-Readme-Datei.Ich fand es äußerst hilfreich, als ich zum ersten Mal lernte, wie man eine Umgebung für die Clojure-Programmierung einrichtet.Sie können es auseinandernehmen project.clj Datei in labrepl ablegen und zusammensetzen, wie es ganz einfach funktioniert.Ganz zu schweigen von den Lektionen und Schulungen in der integrierten Webanwendung, die mit labrepl geliefert wird.

Wenn Sie stattdessen Lein Swank verwenden möchten:

Stellen Sie sicher, dass Sie Leiningen installiert haben.In Ihren project.clj-Entwicklungsabhängigkeiten möchten Sie einen Eintrag wie diesen haben:

[leiningen/lein-swank "1.1.0"]

http://clojars.org/leiningen/lein-swank

Dann, nachdem Sie fertig sind lein deps Du solltest laufen können lein swank und dann aus Emacs heraus ausgeführt M-x slime-connect und drücken Sie einfach die Eingabetaste, um durch die Standardeinstellungen zu gelangen.

Wenn Sie diesen Weg gehen, finden Sie hier den Link direkt nach Leiningen, sodass Sie das Labrepl-Repository überspringen können: http://github.com/technomancy/leiningen

Andere Tipps

ich fand Das Das einfachste Setup für die neueste Version von allem.Hier ist eine kurze Zusammenfassung, wobei ich davon ausgehe, dass Sie Leiningen installiert haben.

Installieren Sie das Swank-Clojure-Plugin

$ lein plugin install swank-clojure 1.3.2

Erstellen Sie Ihr Clojure-Projekt

$ lein new test-project
$ cd test-project
$ lein deps

Öffnen Sie dann eine der Clojure-Dateien aus Ihrem Projekt in Emacs und führen Sie Clojure-Jack-In aus

M-x clojure-jack-in

Sie befinden sich jetzt in einem Slime-Puffer mit Clojure und den geladenen Abhängigkeiten für Ihr Projekt.

Paul Barry hält einen Vortrag über die Verwendung von Aquamacs und Clojure.

Es ist ganz einfach, da Sie diesen Code hinzufügen können .emacs Datei,

(add-to-list 'load-path "~/clojure/clojure-mode")
(setq inferior-lisp-program "/Users/smcho/bin/clj")
(require 'clojure-mode)
(setq auto-mode-alist
  (cons '("\\.clj\\'" . clojure-mode)
     auto-mode-alist))
(add-hook 'clojure-mode-hook
  (lambda ()
     (define-key clojure-mode-map "\C-c\C-e" 'lisp-eval-last-sexp)))

Ich könnte „M-x clojure-mode“ und C-c C-z für REPL ausführen.

Und wie in gefragt und beantwortet wird Clojure und anderes Lisp gleichzeitig auf Emacs ausführen, ich könnte sowohl Clojure/Lisp auf Aquamacs verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top