Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5096660
  • 博文数量: 921
  • 博客积分: 16037
  • 博客等级: 上将
  • 技术积分: 8469
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 02:08
文章分类

全部博文(921)

文章存档

2020年(1)

2019年(3)

2018年(3)

2017年(6)

2016年(47)

2015年(72)

2014年(25)

2013年(72)

2012年(125)

2011年(182)

2010年(42)

2009年(14)

2008年(85)

2007年(89)

2006年(155)

分类: Python/Ruby

2012-06-12 13:53:15

 
Emacs + Distel是目前为止开发Erlang工程最好的组合(我也是听说的,请选择性接受)。光用Editplus + Erlang Syntax Highlight Plugin实在痛苦,在窗口之间不停地切来切去,调试起来也很成问题。google了一把,决定配一个Emacs + Distel的环境。配好后,基本功能试了试,挺好用,高级功能还没有用到,以后再说。
    我的环境:
    WinXP Pro SP2 +  +  + 

    首先安装Erlang和Emacs,安装过程和一般应用软件差不多,这里略过。为避免路径中空格带来麻烦,Erlang的安装路径不要带空格(如E:\erl5.6.5)。

    然后配置环境变量:
    ERL_HOME=E:\erl5.6.5
    PATH加入%ERL_HOME%\bin
    HOME=E:\erlang(这个路径配置为erlang工程的目录)

    解压缩Distel到E:\erl5.6.5\lib\distel-4.03(这个路径随意,便于管理,将它放到erlang的lib下面)

    在E:\erlang(环境变量HOME)创建一个名为“.emacs”的文本文件,内容如下:
;; Erlang mode
(setq load-path (cons  "E:/erl5.6.5/lib/tools-2.6.2/emacs" load-path))
(setq erlang-root-dir "E:/erl5.6.5")
(setq exec-path (cons "E:/erl5.6.5/bin" exec-path))
(require 'erlang-start)

;; Distel
(let ((distel-dir "E:/erl5.6.5/lib/distel-4.03/elisp"))
  (unless (member distel-dir load-path)
    (setq load-path (append load-path (list distel-dir)))))
(require 'distel)
(distel-setup)

;; Some Erlang customizations
(add-hook 'erlang-mode-hook
  (lambda ()
  ;; when starting an Erlang in Emacs, default in the node name
    (setq inferior-erlang-machine-options '("-sname" "emacs"))
    ;; add Erlang functions to an imenu menu
    (imenu-add-to-menubar "imenu")))
;; A number of the erlang-extended-mode key bindings are useful in the shell too
(defconst distel-shell-keys
  '(("\C-\M-i"   erl-complete)
    ("\M-?"      erl-complete) 
    ("\M-."      erl-find-source-under-point)
    ("\M-,"      erl-find-source-unwind) 
    ("\M-*"      erl-find-source-unwind) 
    )
  "Additional keys to bind when in Erlang shell.")
(add-hook 'erlang-shell-mode-hook
   (lambda ()
     ;; add some Distel bindings to the Erlang shell
     (dolist (spec distel-shell-keys)
       (define-key erlang-shell-mode-map (car spec) (cadr spec)))))
    别忘记将以上路径更换为自己实际的路径。注意路径分隔符是正斜杠“/”而不是反斜杠“\”。这样emacs启动时可以自动加载erlang mode和distel的配置文件。

    再在E:\erlang(环境变量HOME)建立一个名为“.erlang.cookie”的文本文件,内容随意,例如:
it_is_a_secret_file
    这个文件是Erlang的Magic Cookie文件。由于Distel需要和运行的erlang节点进行通信,因此这一步不可少。

    最后创建一坨Emacs的快捷方式,放在桌面或者任务栏快速启动,右击快捷方式选“属性”,将“起始位置”设为E:\erlang(HOME环境变量)。这样Emacs启动后可以直接定位到erlang工程的目录。

    启动Emacs,打开一个erl文件,应该能看到多了一个“Erlang”菜单,菜单下有一个Distel的子菜单,如图:

 至此,环境全部配置完成。

文章from:

阅读(1339) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~