2010-01-22 28 views
31

Tôi đã cố gắng di chuyển sang Emacs nhiều lần để phát triển Clojure, theo nhiều blogpost, screencast và hướng dẫn, nhưng ở đâu đó dọc theo cách mà mọi thứ luôn đi sai - keybindings không hoạt động, các phiên bản không tương thích, v.v. tìm thấy bản thân mình xáo trộn trở lại Vim. Nhưng tôi biết tôi muốn Paredit và SLIME.Làm thế nào để thiết lập Aquamacs để phát triển Clojure?

Vì vậy, tôi sẽ thử lại, lần này được cộng đồng StackOverflow ™ mạnh mẽ hỗ trợ.

Tôi hy vọng câu trả lời cho câu hỏi này sẽ được cập nhật và có thể đóng vai trò tham chiếu cho các chuyển đổi dự kiến ​​như tôi.

Những gì tôi muốn là: - Phiên bản ổn định mới nhất của Clojure - Aquamacs (nếu nó đủ tốt cho Giàu Hickey, nó đủ tốt cho tôi), một phiên bản mới - Clojure Chế độ - SLIME/Swank - Paredit - Bất cứ điều gì khác không thể thiếu?

Hướng dẫn từng bước để cài đặt ở trên sẽ tuyệt vời - tốt nhất là ở định dạng tập lệnh shell. Tôi cũng muốn một số gợi ý về cách bắt đầu với các hành động liên quan đến Clojure phổ biến nhất (bao gồm các ràng buộc khóa), bao gồm các liên kết đến tài liệu và các bảng tính.

+0

bước đầu tiên của tôi: tải về và cài đặt Aquamacs 1.9. git clone git: //github.com/jochu/clojure-mode.git Tạo tập tin .emacs trong homedir với nội dung: (thêm vào danh sách 'tải-đường dẫn "~/git/clojure-mode") Ra mắt Aquamacs, đã cài đặt mj clojure, tiến hành cài đặt clojure, clojure-contrib, nhưng đã đưa ra một lỗi trong khi cài đặt Swank. (yêu cầu 'chế độ clojure) –

+0

Rõ ràng đó là phiên bản sai của chế độ clojure. Thay vào đó, tôi đã thử git: //github.com/technomancy/clojure-mode.git. Đã cài đặt m-x clojure, điều này cho biết chức năng này đã không còn được sử dụng để ủng hộ việc sử dụng clojure. Không có ý tưởng làm thế nào để cài đặt đó. –

+0

Vì vậy, paredit được cài đặt, nhưng không làm bất cứ điều gì. Tại sao không? –

Trả lời

7

Đây là các bước tôi đã thực hiện để thiết lập chúng mà không cần sử dụng ELPA. Hi vọng điêu nay co ich.

Nhận SLIME sử dụng MacPorts

sudo port -v install slime 

Nhận paredit

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

Nhận clojure & clojure-contrib

  • Hoặc sử dụng MacPorts
sudo port -v install clojure clojure-contrib
  • Hoặc tải trực tiếp
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

Nhận clojure-mode và phô trương-clojure (Emacs bên)

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

Nhận phô trương-clojure (Clojure bên)

  • Hoặc tải xuống tệp jar được tạo sẵn
curl -O http://repo.technomancy.us/swank-clojure-1.1.0.jar
  • Hoặc xây dựng từ nguồn (giả sử Lein được cài đặt)
cd path/to/dir/swank-clojure 
lein jar

Đặt clojure, clojure-contrib và phô trương-clojure file .jar trong ~/.swank-clojure hoặc ~/.clojure (các địa điểm mặc định nơi swank-clojure.el tìm kiếm chúng).


Thêm vào hoặc ~/emacs hoặc ~/Library/Preferences/Aquamacs Emacs/customization.el (đường dẫn thay đổi để phù hợp với các thiết lập của riêng bạn)

(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/*")))
+0

Cảm ơn câu trả lời phức tạp của bạn - Tôi sẽ cố gắng tối nay. Bạn có cách nào khác để cài đặt SLIME với MacPort không? Tôi đang nhắm đến việc có một bộ phụ thuộc tối thiểu. –

+0

Bạn có thể tải xuống tại http://common-lisp.net/project/slime/snapshots/slime-current.tgz hoặc sử dụng CVS để sao chép repo: cvs -d: pserver: anonymous: [email protected] :/project/slime/cvsroot co slime – ubolonton

5

Tải xuống và cài đặt Aquamac.

Tải về và cài đặt ELPA (http://tromey.com/elpa/install.html)

Đỗ Mx gói-list-gói

Đánh dấu các dòng gọi là "clojure-mode" và "phô trương-clojure" với "tôi" sau đó nhấn "X" .

Xong.

+0

Không có hướng dẫn cài đặt ELPA trên Aquamac và hướng dẫn cho Emacs 22 không hoạt động. –

+1

Không hoạt động theo cách nào? Bạn có nhận được một thông báo lỗi. Oh - bạn thực hiện bằng cách định vị con trỏ bên phải của dấu ngoặc đơn cuối cùng và nhấn C-x-e. – mac

+0

Tài liệu ELPA cho biết C-j, nhưng C-x-e (đó là C-x C-e) hoạt động. Vâng, lần đầu tiên nó đưa ra lỗi http, nhưng lần thứ hai hiển thị danh sách gói. Tôi cũng đã chọn các gói chất nhờn, và chất nhờn-repl, bằng cách nhấn 'i', không phải 'tôi'. Nhấn 'x' bắt đầu biên dịch, cho tôi một loạt cảnh báo và một lỗi (trong slime-repl), hy vọng không gây tử vong. –

5

Dưới đây là một bài viết trên blog đề cập đến Aquamacs: Setting up Clojure, Incanter, Emacs, Slime, Swank, and Paredit

+1

Blog là phiên bản chi tiết hơn về câu trả lời của tôi ở trên. Nó cũng giải thích các phiên bản btw khác nhau của Emacs cho OSX. Tốt tìm! – mac

+0

Bài viết tuyệt vời - đáng tiếc nó đã sử dụng Maven. Tôi đã chọn một dị ứng độc hại với maven khoảng năm 2004 hoặc lâu hơn - dường như nó đã tốt hơn nhưng tôi muốn làm mà không có tất cả như nhau. –

0

Tôi biết OP muốn sử dụng Emacs cho Clojure dev. Tôi là một fan hâm mộ emacs bản thân mình, nhưng tôi tìm thấy bằng cách sử dụng Enclojure (http://www.enclojure.org/home) là một cách tuyệt vời để bắt đầu một cách nhanh chóng với hack Clojure.

+1

Cảm ơn lời khuyên, tôi biết rằng có những lựa chọn thay thế tốt, nhưng chủ đề này thực sự là cho lời khuyên Aquamacs - ngay cả Carbon Emacs cũng không có chủ đề. –

0

Hôm nay tôi sẽ đứng đầu cho https://github.com/tehcurtis/aquamacs-emacs-starter-kit/network

điều này là dành cho ruby ​​và không hoạt động lúc đầu nhưng dù sao đi nữa. git clone và sao chép mọi thứ vào Preferences.el theo readme. Sửa lỗi bằng cách chỉnh sửa ~/Library/Preferences/Aquamacs Emacs/và nhận xét hầu hết mọi thứ trong chế độ.el (Tôi chỉ có (setq-default indent-tabs-mode nil) còn lại trong tệp)

Tốt phần: bạn đã cài đặt ELPA-gói-manager với ít rắc rối

bây giờ: sử dụng

M-x package-list-packages 

đi đến

clojure-mode (press I) 
slime   (press I) 
slime-repl  (press I) 

Press X to install 

thực hiện.

Nên biết trước: clojure-jack-in wont work vì vậy bạn phải

M-x slime-connect 

và nhấn Enter hai lần và y để bắt đầu.

1

Có vẻ là một cách khá dễ dàng để thiết lập Aquamacs 2.4 và chất nhờn cho clojure:

  1. Install Clojure
  2. Install Aquamacs 2.4 từ đây "http://aquamacs.org/"
  3. Cài đặt gói Aquamacs SLIME từ đây "http://aquamacs.org/download.shtml"

này sẽ không hoạt như vậy ...

01.
  1. Lấy phiên bản mới nhất của chất nhờn từ đây "http://common-lisp.net/project/slime/#downloading" - bạn muốn file CVS ảnh chụp tar
  2. Giải nén tập tin SLIME tar và sao chép nó vào /Library/Application Support/Aquamacs Emacs/SLIME

Dường như làm việc OK cho tôi ...

Các vấn đề liên quan