尝试在emacs中安装malabar-mode,获取“无法打开加载文件,malabar-mode”

时间:2014-02-12 16:07:05

标签: java maven emacs elisp melpa

所以我按照malabar-mode github页面上的说明进行操作。

我设置了emacs软件包,并将melpa添加为存档(这是malabar-mode所在的位置)。 mvm包含的目录位于我的exec-path,我已根据README's说明将以下内容添加到我的~/.emacs文件中:

(setq semantic-default-submodes '(global-semantic-idle-scheduler-mode
                                  global-semanticdb-minor-mode
                                  global-semantic-idle-summary-mode
                                  global-semantic-mru-bookmark-mode))
(semantic-mode 1)
(require 'malabar-mode)
(setq malabar-groovy-lib-dir "/path/to/malabar/lib")
(add-to-list 'auto-mode-alist '("\\.java\\'" . malabar-mode))

然而,当我启动emacs时,我得到:

Warning (initialization): An error occurred while loading `/Users/kalaracey/.emacs':

File error: Cannot open load file, malabar-mode

如何让malabar模式起作用?我正在使用内置CEDET的Emacs 24,因此我将上述代码添加到我的~/.emacs文件中(根据说明)。

1 个答案:

答案 0 :(得分:6)

malabar-mode已添加到MELPA中,因此您无需再手动安装。

安装

(add-to-list 'package-archives  
    '("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(package-install 'malabar-mode)
(package-install 'flycheck)      ;; This is optional but nice to have

在.emacs。

因为malabar-mode需要很长时间才能加载(在我的盒子上超过30秒),所以我会延迟加载,直到我尝试找到.java文件。

(defun malabar-mode-bootstrap ()
  (require 'cedet)
  (require 'semantic)
  (load "semantic/loaddefs.el")
  (semantic-mode 1);;
  (require 'malabar-mode)
  (load "malabar-flycheck")

  (malabar-mode)
  (flycheck-mode))

(add-to-list 'auto-mode-alist '("\\.java\\'" . malabar-mode-bootstrap))

另外,请查看https://github.com/m0smith/maven-pom-mode以修改pom.xml