仅为特定主要负载Emacs Minor

时间:2012-08-21 23:02:35

标签: ruby-on-rails emacs ruby-mode

我是emacs的新手,我为Ruby on Rails安装了一个“入门套件”,效果很好。但是,我也在开发PHP,并且启动器带来了一些问题。

我想在编辑ruby文件以外的所有文件时关闭一些次要模式。

在我的.emacs文件中我有:

(add-to-list 'load-path "~/.emacs.d/plugins/ruby-block")
(require 'ruby-block)

如果我对此进行评论,则所有文件的小调消失,所以我尝试添加一个钩子(虽然我是一个完整的初学者,所以这可能是错误的方法),如下所示:

(add-hook 'ruby-mode-hook (lambda () (add-to-list 'load-path "~/.emacs.d/plugins/ruby-block")))
(add-hook 'ruby-mode-hook (lambda () (require 'ruby-block)))

我也尝试使用事件挂钩调用函数并将上面的行移动到函数中但仍无法使其工作。

我真的很感激任何帮助从.rb

以外的所有文件中删除ruby-block minor

2 个答案:

答案 0 :(得分:1)

即使您提到的两条线路对于辅助模式(顺便说一句:哪个?)有效,它们也不负责启用次要模式。第一个:

(add-to-list 'load-path "~/.emacs.d/plugins/ruby-block")

只是扩展了一个路径变量,即Emacs将寻找要加载的代码,而第二个:

(require 'ruby-block)

读取一些库代码,即主要是函数定义。

实际的模式调用可能看起来更像这样:

(ruby-block-mode t)

您使用'ruby-mode-hook走在正确的道路上,但您不必担心load-path(require...)。他们可以保持原样,即不需要评论它们。相反,找到次要模式的实际调用并将其放在(lambda ()...)声明中,你应该没问题。

答案 1 :(得分:1)

我曾使用ruby-block-mode,但我删除了它。

这是我为ruby-block-mode设置的内容,请尝试一下:

(eval-after-load 'ruby-mode
  '(progn
    (require 'ruby-block)
    (ruby-block-mode t)
    (setq ruby-block-highlight-toggle t)))