【问题标题】:Vagrant / Clojure / EmacsVagrant / Clojure / Emacs
【发布时间】:2013-06-01 11:32:16
【问题描述】:

我想为使用 Emacs 探索 Clojure 构建一个标准环境。有没有人有适合这个的食谱?我正在考虑一个运行 Ubuntu 风格的 Vagrant 系统,带有 NREPL 和一些有用的 EMACS 支持插件。

【问题讨论】:

标签: emacs clojure vagrant


【解决方案1】:
vagrant box add preciseMinimal http://goo.gl/wxdwM

更改为 Clojure vagrant 基本文件夹

vagrant init preciseMinimal
vagrant up

vagrant ssh

或 ssh 到 127.0.0.1 端口 2222(或“vagrant up”输出中提到的其他端口)

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

退出并重新连接到 ssh

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

【讨论】:

  • paredit 对于 Emacs 新用户来说可能会有些不协调。如果你坚持下去,你未来的自己将永远感激不尽。
  • 是否可以使用 Chef 安装软件包并上传 .emacs?
  • 一个有趣的项目是将所有这些打包在 Vagrant / puppet 配置中,以便例如从 GitHub 结帐并“流浪”就足够了。
  • @event_jr 我开始这个项目是为了提供一个学习 Clojure 的基础,特别是在 emacs 平台上。我会听取你对 paredit 的建议。
【解决方案2】:

Github 托管、shell 配置的 vagrant 设置位于此处:

https://github.com/pattinsont/Ukelele

所需要的只是结帐和流浪。

VM 启动后,通过 ssh 连接到机器上。 运行 emacs 完成安装。 然后 M-x cider-jack-in

【讨论】:

    猜你喜欢
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多