2013-06-01 10 views
5

मैं Emacs के साथ क्लोजर की खोज के लिए एक मानक वातावरण रखना चाहता हूं। क्या किसी को नुस्खा मिला है जो इस पर होगा? मैं एक व्रेंटेंट सिस्टम के बारे में सोच रहा हूं जिसमें उबंटू का स्वाद चल रहा है, एनआरईपीएल और कुछ उपयोगी ईएमएसीएस समर्थन प्लगइन्स के साथ।वग्रेंट/क्लोजर/Emacs

+1

बस एक सुझाव। देखें [बहादुर और सच्ची गाइड के लिए क्लोजर] (http://www.braveclojure.com/)। लड़के ने Emacs के लिए एक सेटअप बनाया जो कि बस कमाल है। आप सब कुछ एक साथ पैक और जाने के लिए तैयार हो जाओ। नए Emacs उपयोगकर्ताओं के लिए –

उत्तर

4

एक Github की मेजबानी की, खोल प्रावधान आवारा सेटअप यहाँ स्थित है:

https://github.com/pattinsont/Ukelele

सभी कि आवश्यक होना चाहिए एक चेकआउट है और ऊपर आवारा।

एक बार वीएम ऊपर है, बॉक्स पर एसएसएच। इंस्टॉल पूर्ण करने के लिए emacs चलाएं। फिर एम-एक्स साइडर-जैक-

11
vagrant box add preciseMinimal http://goo.gl/wxdwM 

Clojure आवारा आधार फ़ोल्डर में बदलें

vagrant init preciseMinimal 
vagrant up 

vagrant ssh 

या 127.0.0.1 बंदरगाह 2222 को ssh

sudo apt-get update 
sudo apt-get install software-properties-common 
sudo add-apt-repository ppa:cassou/emacs 
sudo apt-get update 
sudo apt-get install emacs24 emacs24-el emacs24-common-non-dfsg 
sudo apt-get install clojure 

cd ~/ 
mkdir bin 

sed '$ a\ 
export PATH=~/bin:$PATH' ~/.bashrc 

बाहर निकलें (या अन्य बंदरगाह में उल्लेख किया है उत्पादन "ऊपर आवारा") और फिर से कनेक्ट एसएसएच

cd ~/bin 
wget https://raw.github.com/technomancy/leiningen/preview/bin/lein 
chmod +x lein 
./lein 


cd ~ 
cat >.emacs 
; Package.el customization 
(package-initialize) 
(add-to-list 'package-archives 
      '("melpa" . "http://melpa.milkbox.net/packages/") t) 

;; install packages 
(defvar my-packages '(
    auto-complete 
    clojure-mode 
    clojure-test-mode 
    nrepl 
    ac-nrepl 
    paredit 
    rainbow-delimiters 
)) 

(dolist (p my-packages) 
    (when (not (package-installed-p p)) 
    (package-refresh-contents) 
    (package-install p))) 
;; The following line can be removed after first install to speed up startup 
(byte-recompile-directory (expand-file-name "~/.emacs.d") 0) 

(custom-set-variables 
;; custom-set-variables was added by Custom. 
;; If you edit it by hand, you could mess it up, so be careful. 
;; Your init file should contain only one such instance. 
;; If there is more than one, they won't work right. 
'(auto-save-default nil) 
'(backup-inhibited t t) 
'(cursor-type 'bar t) 
'(column-number-mode t) 
'(delete-selection-mode t) 
'(inhibit-startup-screen t) 
'(initial-scratch-message nil) 
'(tool-bar-mode nil) 
'(xterm-mouse-mode 1)) 

;; rainbow delimiters 
(require 'rainbow-delimiters) 
(global-rainbow-delimiters-mode) 

;; paredit 
(add-hook 'clojure-mode-hook 'paredit-mode) 
(add-hook 'nrepl-mode-hook 'paredit-mode) 
(global-set-key [f7] 'paredit-mode) 

;; clojure-mode 
(global-set-key [f9] 'nrepl-jack-in) 

;; nrepl 
(add-hook 'nrepl-interaction-mode-hook 'nrepl-turn-on-eldoc-mode) 
(setq nrepl-popup-stacktraces nil) 
(add-to-list 'same-window-buffer-names "*nrepl*") 
(add-hook 'nrepl-mode-hook 'paredit-mode) 

;; Auto complete 
(require 'auto-complete-config) 
(ac-config-default) 
(define-key ac-completing-map "\M-/" 'ac-stop) 

;; ac-nrepl 
(require 'ac-nrepl) 
(add-hook 'nrepl-mode-hook 'ac-nrepl-setup) 
(add-hook 'nrepl-interaction-mode-hook 'ac-nrepl-setup) 
(eval-after-load "auto-complete" '(add-to-list 'ac-modes 'nrepl-mode)) 
#CTRL-D to finish 

ग्रेटफुल विशेषताएं: http://blog.worldcognition.com/2012/07/setting-up-emacs-for-clojure-programming.html

+5

'paredit' थोड़ा झटकेदार हो सकता है। यदि आप इसके साथ रहते हैं, तो आपका भविष्य स्वयं कभी आभारी होगा। –

+1

क्या पैकेज स्थापित करने के लिए शेफ का उपयोग करना संभव है और शायद .emacs अपलोड कर सकते हैं? – mac

+2

एक मजेदार परियोजना यह सब एक वैग्रेंट/कठपुतली विन्यास में पैकेज करना होगा ताकि उदा। गिटहब और 'वानर अप' से चेकआउट की आवश्यकता होगी। – JohnJ