我已经尝试过几次移植到Emacs进行Clojure开发,遵循各种博客帖子,截屏和教程,但是在某些地方总是出现问题 - 无效的键绑定,不兼容的版本等等,以及我发现自己又回到了Vim。但我知道我想要Paredit和SLIME。
所以,我将再次尝试,这次是由强大的StackOverflow™社区支持。
我希望这个问题的答案能够保持最新,并且可以作为像我这样的试探性转变的参考。
我想要的是: - Clojure的最新稳定版本 - Aquamacs(如果它对Rich Hickey来说足够好,对我来说已经足够了),这是最新版本 - Clojure模式 - SLIME / SWANK - Paredit - 还有其他不可或缺的东西吗?
安装上述内容的分步说明非常好 - 最好采用shell脚本格式。我还想了解如何开始使用最常见的与Clojure相关的操作(包括键绑定),包括文档和备忘单的链接。
答案 0 :(得分:7)
这些是我在不使用ELPA的情况下设置它们的步骤。希望这会有所帮助。
使用MacPorts获取SLIME
sudo port -v install slime
获得paredit
curl -O http://mumble.net/~campbell/emacs/paredit.el
获取clojure& Clojure的-的contrib
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-mode和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-contrib和swank-clojure .jar文件放在〜/ .swank-clojure或〜/ .clojure(swank-clojure.el搜索它们的默认位置)。
添加到〜/ .emacs或〜/ Library / Preferences / Aquamacs Emacs / customization.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/*")))
答案 1 :(得分:5)
下载并安装Aquamacs。
下载并安装ELPA(http://tromey.com/elpa/install.html)
执行M-x package-list-packages
将标有“clojure-mode”和“swank-clojure”的行标记为“I”,然后按“X”。
完成。
答案 2 :(得分:5)
这是一篇博文,提到了Aquamacs:Setting up Clojure, Incanter, Emacs, Slime, Swank, and Paredit
答案 3 :(得分:1)
似乎有一种相当简单的方法可以为clojure设置Aquamacs 2.4和SLIME:
无法使用所以...
似乎对我有用......
答案 4 :(得分:0)
我知道OP希望将Emacs用于Clojure开发。我自己也是一个emacs粉丝,但是我发现使用Enclojure(http://www.enclojure.org/home)是一个很好的方法来快速开始攻击Clojure。
答案 5 :(得分:0)
今天我将前往https://github.com/tehcurtis/aquamacs-emacs-starter-kit/network
这是红宝石,一开始不会工作,但无论如何。 git克隆并根据自述文件将内容复制到Preferences.el。通过编辑〜/ Library / Preferences / Aquamacs Emacs /修复破坏,并在modes.el中注释几乎所有内容(我只在文件中留下(setq-default indent-tabs-mode nil))
好的部分:你已经安装了elpa-package-manager,而且麻烦少了
现在:使用
M-x package-list-packages
转到
clojure-mode (press I)
slime (press I)
slime-repl (press I)
Press X to install
进行。
警告:clojure-jack-in不会工作所以你必须
M-x slime-connect
然后按两次输入,按y开始。