一、Emacs 传说中的神器,也被《Erlang程序设计》一书推荐为编辑器,但是Emacs的配置也是让人捉急,本菜就把我的经历分享下吧。以Windows为例。
1、HOME
不要看不起程序,程序也恋家,Emacs也不能免俗。首先需要为Emacs建一个家目录,而且需要将该目录加入环境变量。比如:D:\emacs,然后创建系统环境变量HOME,值为D:\emacs。所有零碎都装到这个目录下。
2、脚本
Emacs需要有一个脚本用于配置IDE的七七八八。我有一个请参考
script.rar ,具体有什么内容请看附件script。脚本解压后放在上文提到的HOME下即D:\emacs。
3、Erlang配置
在上面的脚本中设置:
;; ------------------------------------
;; Erlang mode
;; ------------------------------------
(setq erlang-root-dir "C:/Program Files/erl5.9.1")
(setq load-path (cons "C:/Program Files/erl5.9.1/lib/tools-2.6.7/emacs" load-path))
(setq exec-path (cons "C:/Program Files/erl5.9.1/bin" exec-path))
上面的路径与你Erlang 的路径有关系。
如果提示加载erlang-start错误则说明(setq load-path (cons "C:/Program Files/erl5.9.1/lib/tools-2.6.7/emacs" load-path)) 这里的路径有问题,请查看你自己的Erlang安装路径。
4、零碎安装
(1)distel
安装文件
distel-4.03.rar ,解压后放在C:\Program Files (x86)\Emacs\emacs下,具体参考你的Emacs安装目录。 在上面的脚本中设置:
;; ------------------------------------
;; Distel
;; ------------------------------------
;; This is needed for Distel setup
(let ((distel-dir "C:/Program Files (x86)/Emacs/emacs/distel-4.03/elisp"))
(2)color-theme-zenburn.el
;; color theme
(require 'color-theme-zenburn)
(color-theme-zenburn)
(3)color-theme.el
安装文件
color-theme.rar ,解压后放在C:\Program Files (x86)\Emacs\emacs\lisp下,具体参考你的Emacs安装目录。
(4)auto-complete
安装文件
auto-complete-1.3.1.rar ,解压后放在任意目录下,假设在C:\Program Files (x86)\Emacs\emacs下,打开CMD,敲入“C:\Program Files (x86)\Emacs\emacs\auto-complete-1.3.1>"C:\Program Files (x86)\Emacs\emacs\bin\emacs" -batch -l etc/install.el”回车,然后在Install to:后面输入自己要安装的位置如:D:\emacs\.emacs.d\plugins。回车即可。接下来会显示:
Add the following code to your .emacs:
(add-to-list 'load-path "d:/emacs/.emacs.d/plugins")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "d:/emacs/.emacs.d/plugins/ac-dict")
(ac-config-default)
将上面4行拷贝到.emacs。
“C:\Program Files (x86)\Emacs\emacs\bin\emacs”参考自己emacs安装路径。
“D:\emacs\.emacs.d\plugins”:D:\emacs为HOME目录,.emacs.d为自动产生目录,plugins为自己创建插件安装目录。
这个过程也可以参考:
(5)字体设置
默认字体很小,可以在.emacs中添加如下脚本:
(global-set-key (kbd "") 'text-scale-increase)
(global-set-key (kbd "") 'text-scale-decrease)
CTRL+鼠标滚轮即可以缩小或放到字体。
打完收工,启动EmacsClient,即可。按F9出来工程目录,可以选择自己想要查看erl文件。也可以在.emacs中设置这个目录,具体脚本如下:
(setq default-directory "D:/erlang-project/")
真够麻烦的啊,哈哈。。。
告诉你一个很悲催的事,上面做了这么多实际上还是只能语法高亮。接下来的神器出现了
二、SubLime Text
去官网下载并next->next安装完后,就具备语法高亮的特性,而且可以支持像Notepad++的缩放功能,哈哈,爽。
SubLime本身并不支持go to define之类的语法跳转,如果要添加此功能需要安装插件。在安装别的插件前需要先安装package control,然后才能用package control:搜索别的插件来安装,package control:乃众神之王也。
package control安装方式有如下两种:
(1)自动安装
点击sublime的菜单栏 view->show console ;打开控制台, 这个控制台有上下两栏, 上面一栏会实时显示sublime执行了什么插件,输出执行结果, 如果你安装的某个插件不能正常运行,应该先在这里看看有没有报错。下面栏是一个输入框,我们输入下面的代码点击回车运行, 就能安装好package control了。
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen(''+pf.replace(' ','%20')).read())
(2)手动安装
google或者百度或者点击,下载插件的源代码。在sublime的菜单栏点击 preferences->Browse package.. 此时会打开插件目录。然后把你下载的插件源代码复制进去就可以了。
安装完插件后,按按住 ctrl+shift+p。此时会输出一个输入框, 输入install,选择package contrl: install package 回车 ,一会儿后会出现一个插件列表, 你也可以在输入框中输入文字进行搜索插件。 搜索到自己想安装的插件,再选择它,回车。 就自动给你安装好了。
这些全是铺垫,真正想要的来了。从package control 搜索列表中选择ctags,回车即可完成安装。 注意安装好插件后要需要安装ctags命令。window 下载 ctags.exe 。 将ctags.exe文件放在一个环境变量能访问到的地方。打开cmd, 输入ctags,如果有这个命令,证明成功了。然后在sublime右侧的project文件夹上右键, 会出现Ctag:Rebuild Tags 的菜单。单击它,然后会生成.tags的文件。
OK了,激动人心的时刻来了,在你代码中,将光标放在某个函数上, 点击ctrl+shift+鼠标左键就可以跳转到函数定义的地方。
二、erlide
用Eclipse+erlide可以满足以上所有需求,步骤如下:
(1)安装JDK
下载JDK7, 下载地址:
next->next安装成功。
(2)安装Eclipse
下载eclipse-sdk-3.7.1-win32.zip,下载地址
next->nextt安装成功。
(3)设置环境变量
将erl和jdk安装路径分别加入path环境变量,例如:
C:\Program Files (x86)\Java\jdk1.7.0\bin;
C:\Program Files\erl5.9.1\bin
(4)安装erlide
打开eclipse,选择Help->install new software,在work with :中输入 ,等待出现下图:
图1 查找erlide
选中两者,点击下一步,接下来可能需要等待一些时间,如果网速好可能快一些,等待出现如下选择界面:
图2 安装erlide
可以全部选上,然后点击下一步,选择同意,点击完成。
等待插件安装。安装过程中可能有一个warn提示,点击OK即可。最后安装成功后会提示重启eclipse,点击立即重启即可。
启动eclipse后,选择File->New->Project,若能看到Erlang,则说明安装成功了。
选择Erlang新建Erlang Project,import Erlang文件代码,就可以尽情享受了。。。爽吧,哈哈。
阅读(621) | 评论(0) | 转发(0) |