[英]Which Emacs… for Mac OS X?… for Windows?… for Linux?
[英]Emacs (Cocoa Emacs) vs Aquamacs for running Clojure on Mac OS X
到目前為止我使用了Aquamacs ,我需要使用SLIME安裝和運行Clojure 。 我用谷歌搜索了一些方法在Aquamacs的SLIME上使用Clojure,但沒有成功。
我嘗試使用Mac OS X Emacs ,並按照我可以使其工作的步驟。 我的意思是,我可以用SLIME運行Clojure。
步驟1)安裝ESK 。
.emacs.d
目錄中 .emacs
並重新啟動 (when (load (expand-file-name "~/.emacs.d/package.el")) (package-initialize))
步驟2)使用ELPA安裝
.emacs
並重新啟動 ;; 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)
現在我可以在Emacs上使用Clojure,我嘗試了相同(或非常相似)的方法再次在Aquamacs上運行Clojure。
(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)
步驟2)*按照以前的步驟安裝所有(相同)軟件包,但“Mx slime”給我以下錯誤消息。 “符號的函數定義是無效的:define-slime-contrib”
我試圖將Emacs和Aquamacs的軟件包結合起來,但它們並沒有結合起來。 我以為我可以使用ELPA本身,而不是ESK來共享它。
結果並不好,因為ELPA無法下載swank-conjure包。
請參考這個 。
由於Clojure的作者使用它,因此Aquamacs絕對適用於Clojure。 但是,我使用Emacs,在Emacs部分執行上述步驟后,我建議查看labrepl,
http://github.com/relevance/labrepl
如果您沒有leiningen,則獲取並安裝它的鏈接位於labrepl自述文件的說明中。 在第一次學習如何為Clojure編程設置環境時,我發現它非常有用。 您可以拆開labrepl中的project.clj
文件,並將它的工作方式非常簡單地拼湊起來。 更不用說labrepl附帶的內置Web應用程序中的課程和培訓。
如果你想使用lein swank代替:
確保安裝了leiningen。 在您的project.clj dev依賴項中,您希望擁有如下條目:
[leiningen/lein-swank "1.1.0"]
http://clojars.org/leiningen/lein-swank
然后在你完成lein deps
你應該能夠運行lein swank
,然后從Emacs中運行Mx slime-connect
,只需按下默認輸入即可。
如果你打算走這條路,這里是直接連接到leiningen的鏈接,所以你可以跳過labrepl存儲庫: http ://github.com/technomancy/leiningen
Paul Barry講授如何使用Aquamacs和Clojure。
這很簡單,因為您可以將此代碼添加到.emacs
文件中,
(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)))
我可以運行'Mx clojure-mode',以及Cc Cz for REPL。
正如在Emacs上同時在Running Clojure和其他Lisp中提問和回答的那樣,我可以在Aquamacs上同時使用Clojure / Lisp。
我發現這是最新版本的最簡單的設置。 這是一個快速摘要,我假設你已經安裝了leiningen。
安裝swank-clojure插件
$ lein plugin install swank-clojure 1.3.2
創建你的clojure項目
$ lein new test-project
$ cd test-project
$ lein deps
然后在emacs中打開項目中的一個clojure文件並運行clojure-jack-in
M-x clojure-jack-in
您現在處於一個slime緩沖區,其中包含clojure並且已加載項目的依賴項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.