Emacs 如何为Clojure开发设置Aquamacs?

Emacs 如何为Clojure开发设置Aquamacs?,emacs,clojure,slime,aquamacs,paredit,Emacs,Clojure,Slime,Aquamacs,Paredit,我曾多次尝试迁移到Emacs进行Clojure开发,遵循了各种博客帖子、屏幕广播和教程,但在过程中总会出现一些问题——键绑定不起作用、版本不兼容等,我发现自己正忙着回到Vim。但我知道我想要的是帕雷迪和斯莱姆 所以,我将再试一次,这次是由强大的堆栈溢出支持的™ 社区 我希望这个问题的答案将保持最新,并能作为像我这样的临时皈依者的参考 我想要的是: Clojure的最新稳定版本 Aquamacs(如果它对Rich Hickey足够好,对我也足够好),一个最新版本 Clojure模式 粘液/浮华

我曾多次尝试迁移到Emacs进行Clojure开发,遵循了各种博客帖子、屏幕广播和教程,但在过程中总会出现一些问题——键绑定不起作用、版本不兼容等,我发现自己正忙着回到Vim。但我知道我想要的是帕雷迪和斯莱姆

所以,我将再试一次,这次是由强大的堆栈溢出支持的™ 社区

我希望这个问题的答案将保持最新,并能作为像我这样的临时皈依者的参考

我想要的是:

  • Clojure的最新稳定版本
  • Aquamacs(如果它对Rich Hickey足够好,对我也足够好),一个最新版本
  • Clojure模式
  • 粘液/浮华
  • 帕雷迪特
  • 还有什么必不可少的吗

安装上述内容的分步说明将非常好-最好是shell脚本格式。我还想了解一些关于如何开始最常见的Clojure相关操作(包括密钥绑定)的提示,包括文档和备忘单的链接。

下载并安装Aquamacs

下载并安装ELPA()

M-x软件包是否列出软件包

在名为“clojure模式”和“swank clojure”的行上标记“I”,然后按“X”


完成。

这里有一篇提到Aquamacs的博客帖子:

我知道OP想在Clojure开发中使用Emacs。我自己也是Emacs迷,但我发现使用Enclojure()是快速开始攻击Clojure的一个好方法。

这些是我在不使用ELPA的情况下设置它们的步骤。希望这有帮助

使用MacPorts获取粘液

sudo port -v install slime
获得授权

curl -O http://mumble.net/~campbell/emacs/paredit.el
获得clojure&clojure contrib

  • 或者使用MacPorts
斯万克·克洛朱尔(克洛朱尔一侧)

  • 下载预构建的jar文件
旋度-Ohttp://repo.technomancy.us/swank-clojure-1.1.0.jar
  • 或从源头上建造(假设已安装lein)
cd路径/收件人/目录/swank clojure 莱因罐 将clojure、clojure contrib和swank clojure.jar文件放入~/.swank clojure或~/.clojure(swank-clojure.el搜索它们的默认位置)


添加到~/.emacs或~/Library/Preferences/Aquamacs emacs/customization.el(更改路径以匹配您自己的设置)

(添加到列表“加载路径”/opt/local/share/emacs/site lisp/slime/”) (添加到列表“加载路径”/opt/local/share/emacs/site lisp/slime/contrib/”) ;; 更改这些路径以匹配您的设置 (添加到列表“加载路径”path/to/dir/clojure mode/”) (添加到列表“加载路径”path/to/dir/swank clojure/”) (添加到列表“加载路径”path/to/dir/paredit/”) ;; 自定义swank clojure启动以反映可能的类路径更改 ;; M-x ielm`slime lisp实现RET或参见`swank clojure.el'了解更多信息 (defadvice slime读取交互式参数(添加clojure之前) (要求“协会”) (aput“slime lisp实现”clojure (列表(swank clojure cmd):init'swank clojure init))) (需要“粘液”) (需要“编辑”) (需要“clojure模式”) (要求“swank clojure”) (装载“煤泥”后的评估) "(progn) “额外”功能(contrib) (煤泥设置) '(slime repl slime banner slime highlight编辑slime fuzzy)) (setq) 使用UTF-8编码 slime网络编码系统“utf-8-unix” ;使用模糊补全(M-Tab) 粘液完整符号函数“粘液模糊完整符号”) ;使用括号编辑模式paredit (取消paredit模式启用()(paredit模式1)) (添加钩子“粘液模式钩子”paredit模式启用) (添加钩子'slime repl mode hook'paredit mode enable')) ;; 默认情况下,输入和结果具有相同的颜色 ;; 自定义结果颜色以区分它们 ;; 如果要进一步自定义,请在“slime repl.el”中查找“defface” (自定义设置面) '(黏液回复结果面((t::前景“浅绿色”)))) (装载后评估“swank clojure” "(progn) ;使REPL对Clojure更友好(ELPA不包括这一点?) ;该函数在swank-clojure.el中定义,但未使用?!? (添加钩子的粘液复制模式钩子 'swank clojure slime repl修改语法(t) ;为白炽灯添加类路径(仅作为示例) ;设置类路径的首选方法是使用swank clojure项目 (添加到列表“swank clojure类路径” “path/to/incanter/modules/incanter app/target/*”))今天我将前往

这是为ruby设计的,一开始不起作用,但无论如何。git根据自述将内容克隆并复制到Preferences.el。通过编辑~/Library/Preferences/Aquamacs Emacs/并注释modes.el中的几乎所有内容(我在文件中只剩下(setq default indent tabs mode nil))来修复中断

好的方面是:您安装了elpa软件包管理器,麻烦更少了

现在:使用

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

然后按enter键两次,然后按y键开始。

似乎有一种相当简单的方法可以为clojure设置Aquamacs 2.4和SLIME:

  • 安装Clojure
  • 从此处安装Aquamacs 2.4“http://aquamacs.org/"
  • 从此处安装Aquamacs SLIME软件包“http://aquamacs.org/download.shtml"
  • 将不起作用因此

  • 从这里获取最新版本的SLIME“http://common-lisp.net/project/slime/#downloading“-您想要CVS快照tar文件吗
  • 解压缩SLIME tar文件并将其复制到 /库/应用程序支持/Aquamacs Emacs/SLIME

  • 对我来说似乎还可以…

    我的第一步:下载并安装Aquamacs 1.9。git克隆git://github.com/jochu/clojure-mode.git homedir中的make.emacs文件,内容:(添加到列表“加载路径”~/git/clojure模式)启动了Aquamacs,安装了m-x clojure,继续安装clojure、clojure contrib,但在安装Swank时出现错误。(需要“clojure模式”)显然这是wro curl -O http://repo.technomancy.us/swank-clojure-1.1.0.jar cd path/to/dir/swank-clojure lein jar (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/*")))
    M-x package-list-packages
    
    clojure-mode   (press I)
    slime          (press I)
    slime-repl     (press I)
    
    Press X to install
    
    M-x slime-connect