打开emacs时运行.el文件

时间:2014-01-22 22:32:15

标签: emacs elisp

我下载了两个.el文件 一种是突出显示光标所在的当前列,另一种是突出显示某些特定字。 我按照文件中的后续步骤进行操作:

(add-to-list 'load-path "~/.xemacs/packages/") //保存.el文件的路径

(load "column-marker") //没有.el扩展名的文件名

到这一步它工作正常,当我按下M-x柱标记时我会找到它们,我可以使用它。 当我每次打开emacs时都想使用它时我的问题就开始了,我发现我可以使用类似的东西:

(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))

在我的情况下,我正在输入:

(add-to-list 'auto-mode-alist '("\\.\\'" . column-marker)) //我想为所有.something文件启用它

但是......当这样做时,打开emacs时出错,它以默认设置启动。

我做错了什么?我尝试了很多方法而没有工作。

提前致谢

1 个答案:

答案 0 :(得分:3)

  1. 始终发布您看到的错误消息。这有助于其他人帮助你。

  2. C-h f auto-mode-alist告诉您,您在其中使用的功能必须实现 主要模式 column-marker不是主要模式功能。它甚至不是一个功能;它是一个文件。

  3. 对于要调用文件column-marker.el中的某些函数的每种模式,您需要做的是将该函数放在该函数的主模式挂钩上。例如:

  4.    (add-hook 'emacs-lisp-mode (lambda () (interactive) (column-marker-1 80))
    

    瞧,文件Commentary中的column-marker.el告诉你什么?

    ;; Installation: Place this file on your load path, and put this in
    ;; your init file (`.emacs'):
    ;;
    ;; (require 'column-marker)
    ;;
    ;; Other init file suggestions (examples):
    ;;
    ;; ;; Highlight column 80 in foo mode.
    ;; (add-hook 'foo-mode-hook (lambda () (interactive) (column-marker-1 80)))
    

    无法更清楚。只要你真正阅读过它。

    说真的,在向StackOverflow发布问题之前,最少需要进行调查。您应该进行Google搜索,打开README个文件并阅读它们,依此类推--- 首先 。对于Emacs问题,恕我直言,你应该首先询问Emacs (例如C-h v auto-mode-alist)。

    根据S.O.的规定。张贴,不做初步的简单研究甚至是提出问题的理由。因此,如果这个问题被关闭或投票,请不要感到惊讶。