【问题标题】:Ruby on Emacs Package InstallationRuby on Emacs 包安装
【发布时间】:2013-01-15 13:31:16
【问题描述】:

参考indent ruby code on the fly in emacs,如何让次要模式在进入主要模式后自动启动?

基本上,当我打开一个 Ruby 文件(在 ruby-mode 中打开)时,我希望 electric-indent-mode 自动启动。

另外,我尝试安装ruby-end,但它不起作用。我将ruby-end.rb 复制到~/.emacs.d 并将以下内容添加到init.el

(add-to-list 'load-path "ruby-end")
(require 'ruby-end)

我也是ruby-end.pl,我得到了同样的错误。这是--debug-init的错误结果:

Debugger entered--Lisp error: (file-error "Cannot open load file" "ruby-end")
2   require(ruby-end)
3   eval-buffer(#<buffer  *load*> nil "/Users/nayef/.emacs.d/init.el" nil t)  ; Reading at buffer position 1392
4   load-with-code-conversion("/Users/nayef/.emacs.d/init.el" "/Users/nayef/.emacs.d/init.el" t t)
5   load("/Users/nayef/.emacs.d/init" t t)
6   #[0 "^H\205\262^@     \306=\203^Q^@\307^H\310Q\202;^@ \311=\204^^^@\307^H\312Q\202;^@\313\307\314\315#\203*^@\316\202;^@\313\307\314\317#\203:^@\320\nB^R$
7   command-line()
8   normal-top-level()

有什么想法吗?有人对 Emacs 中的 Ruby on Rails 开发有意见吗?我使用基于命令行的文本 Emacs 24.2.1。

【问题讨论】:

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


    【解决方案1】:

    electric-indent-mode 是一种全局次要模式(即它适用于所有模式下的所有缓冲区),因此只需在 .emacs 中启用一次,无需使用钩子。

    【讨论】:

    • 不会弄乱其他语言的缩进吗?另外,我将如何使其全局启用?我试过 setq 没用。
    • 像每个次要模式一样,您可以在.emacs 中使用(electric-indent-mode 1) 来启用它。
    【解决方案2】:

    为了解决您在这里遇到的具体问题,load-path 应该包含目录,而不是文件路径。所以,试试这个:

    (add-to-list 'load-path (expand-file-name "~/.emacs.d"))
    (require 'ruby-end)
    

    顺便说一句,我还是更喜欢老版的ruby-electric

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 2013-05-21
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多