代码之家  ›  专栏  ›  技术社区  ›  Michiel de Mare

如何为clojure开发设置aquamacs?

  •  31
  • Michiel de Mare  · 技术社区  · 15 年前

    我已经尝试过几次迁移到emacs进行clojure开发,遵循了各种各样的blogposts、screencast和教程,但是在这一过程中总会出现一些错误——键绑定不起作用、不兼容的版本等等,我发现自己正忙着回到vim。但我知道我想要粉刺和黏液。

    所以,我要再试一次,这次是在强大的stackoverflow社区的支持下。

    我希望这个问题的答案会是最新的,并且可以作为像我这样的试探性皈依者的参考。

    我想要的是: -clojure的最新稳定版本 -aquamacs(如果对rich hickey足够好,对我也足够好),一个最新版本 -克隆模式 -粘液/污垢 -帕雷迪特 -还有什么是必不可少的吗?

    按部就班的安装说明将是极好的-最好是在shell脚本格式。我还想要一些关于如何开始使用最常见的clojure相关操作(包括键绑定)的提示,包括到文档和备忘单的链接。

    6 回复  |  直到 13 年前
        1
  •  7
  •   ubolonton    15 年前

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

    使用MacPorts获取粘液

    sudo port -v install slime
    

    获取paredit

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

    获取clojure&clojure contrib

    • 或者使用macports
    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模式和swank clojure(emacs端)

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

    得到斯旺克·克洛朱尔(克洛朱尔侧)

    • 下载预构建的jar文件
    curl -O http://repo.technomancy.us/swank-clojure-1.1.0.jar
    • 或者从源头上建造(假设安装了lein)
    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/*")))
        2
  •  5
  •   mac    15 年前

    下载并安装aquamacs。

    下载并安装ELPA( http://tromey.com/elpa/install.html )

    M-X包是否列出包

    用“i”标记“clojure mode”和“swank clojure”,然后按“x”。

    完成。

        3
  •  5
  •   Jouni K. Seppänen    15 年前

    以下是一篇提到Aquamacs的博客文章: Setting up Clojure, Incanter, Emacs, Slime, Swank, and Paredit

        4
  •  1
  •   Jim    13 年前

    似乎有一个相当简单的方法来设置aquamacs 2.4和clojure粘液:

    1. 安装clojure
    2. 从这里安装aquamacs 2.4“http://aquamacs.org/”
    3. 从这里安装aquamacs slime软件包“http://aquamacs.org/download.shtml”

    这个 不会起作用的 所以…

    1. 从这里获取slime的最新版本“http://common lisp.net/project/slime/downloading”-您需要cvs快照tar文件
    2. 解压slime tar文件并将其复制到 /库/应用程序支持/aquamacs emacs/slime

    对我来说似乎没问题…

        5
  •  0
  •   pratik patel    15 年前

    我知道OP想用Emacs来开发Clojure。我自己也是Emacs的粉丝,但我发现使用Enclojure( http://www.enclojure.org/home )这是一个很好的快速入门的方法。

        6
  •  0
  •   claj Chiron    13 年前

    今天我要去 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包管理器,而且麻烦少了。

    现在:使用

    M-x package-list-packages
    

    clojure-mode   (press I)
    slime          (press I)
    slime-repl     (press I)
    
    Press X to install
    

    完成。

    警告:克洛尤尔·杰克不工作,所以你必须

    M-x slime-connect
    

    然后按两次回车键和y键开始。

    推荐文章