0

我对 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 次要的任何帮助

4

2 回答 2

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 ()...)声明中,您应该没问题。

于 2012-08-22T00:07:28.797 回答
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)))
于 2012-08-22T08:54:13.807 回答