我正在尝试使用emacs
进行grails开发。试过grails-emacs-mode
我的ubuntu 12.04上有emacs
和emacs23
。
prayag@prayag:~$ ls -l /usr/share/emacs[tab][tab]
emacs/ emacs23/
正如grails-emacs模式所示,我将grails-mode.el
和primary.org
个文件复制到我的emacs23/site-list
prayag@prayag:~$ ls -l /usr/share/emacs23/site-lisp/
total 32
-rw-r--r-- 1 root root 3013 Nov 17 00:39 debian-startup.elc
drwxr-xr-x 2 root root 4096 Nov 17 00:39 dictionaries-common
-rw-r--r-- 1 root root 18205 Feb 14 01:11 grails-mode.el
-rw-r--r-- 1 root root 0 Feb 14 01:11 primary.org
-rw-r--r-- 1 root root 106 Sep 22 01:16 subdirs.el
然后,在init.el
内创建.emacs.d
,因为主目录中不存在.emacs
文件。 init.el
包含
(require 'grails-mode)
(setq grails-mode t)
(setq project-mode t)
(add-to-list 'auto-mode-alist '("\.gsp$" . nxml-mode)) ; Use whatever mode you want for views.
(project-load-all) ; Loads all saved projects. Recommended, but not required.
现在,打开emacs23
并不会在菜单栏中显示任何grails。
我也试过
M-x
load-file .emacs.d/init.el
抛出
Warning (initialization): An error occurred while loading `/home/prayag/.emacs.d/init.el':
File error: Cannot open load file, project-mode
To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.
在启动emacs23 --debug-init
时,会抛出以下错误。
Debugger entered--Lisp error: (file-error "Cannot open load file" "project-mode")
require(project-mode)
eval-buffer(#<buffer *load*<2>> nil "/usr/share/emacs/23.3/site-lisp/grails-mode.el" nil t) ; Reading at buffer position 422
load-with-code-conversion("/usr/share/emacs/23.3/site-lisp/grails-mode.el" "/usr/share/emacs/23.3/site-lisp/grails-mode.el" nil t)
require(grails-mode)
eval-buffer(#<buffer *load*> nil "/home/prayag/.emacs.d/init.el" nil t) ; Reading at buffer position 23
load-with-code-conversion("/home/prayag/.emacs.d/init.el" "/home/prayag/.emacs.d/init.el" t t)
load("/home/prayag/.emacs.d/init" t t)
#[nil "\205\264
答案 0 :(得分:1)
我根本不知道圣杯模式。我刚刚点击了你的链接,他们说项目模式是一个依赖:
依赖关系: project-mode是唯一的依赖项。
因此,您还必须安装它。 Link to the Emacs project code。 我希望你这个项目没有额外的依赖...
作为旁注:稍后,尝试安装最后的emacs(v24),它嵌入了一种非常方便的方式来处理包安装和处理包依赖。我刚刚查看它,它存在于另一个(但非常有用)存储库:Marmalade-repo.org。
答案 1 :(得分:1)
grails-mode需要在emacs-grails-mode页面上提到的项目模式。因此,您还需要安装project-mode。
还可以从here获取剩余的groovy包(除了grails-mode)。
emacs-grails-mode-ext是对grails模式的适度贡献,允许您直接从emacs运行Grails命令。对于给定项目(项目模式),您可以运行Grails命令,例如 create-domain-class , create-service 等。
我还使用here中的 ido-find-file-in-tag-files 函数,我将其绑定到 Cx CMf 。
emacs-grails-mode的简单指南:
如果您安装了emacs24,也可以使用my current emacs setup here。我相信它适用于Ubuntu 12.04,但我不确定。我通常在OSX上从源代码构建emacs,或者在Ubuntu中使用emacs-snapshot。
希望这有帮助。