我下载了两个.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时出错,它以默认设置启动。
我做错了什么?我尝试了很多方法而没有工作。
提前致谢
答案 0 :(得分:3)
始终发布您看到的错误消息。这有助于其他人帮助你。
C-h f auto-mode-alist
告诉您,您在其中使用的功能必须实现 主要模式 。 column-marker
不是主要模式功能。它甚至不是一个功能;它是一个文件。
对于要调用文件column-marker.el
中的某些函数的每种模式,您需要做的是将该函数放在该函数的主模式挂钩上。例如:
(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.的规定。张贴,不做初步的简单研究甚至是提出问题的理由。因此,如果这个问题被关闭或投票,请不要感到惊讶。