如何根据扩展名将次要模式与特定文件或一组文件相关联?

jk.*_*jk. 9 emacs clojure

目前,每次我在emacs中打开文本文件时,我都必须M-x longlines-mode打开我的换行.同样在clojure中,我必须M-x paredit-mode(尽管它确实自动将主要模式设置为文本和clojure).

我对主要和次要模式之间的差异感到朦胧,但我认为上述模式很小.有办法:

  1. 配置emacs自动打开所有clojure(*.clj)文件paredit-mode
  2. 配置要打开的特定文件(例如notes.txt)longlines-mode.我已尝试添加-^- mode: longlines -^--^- mode: longlines-mode -^-在其他线程中建议,但它似乎不起作用.我无法搜索有关-^-语法的文档,因为我不知道它的名称.

FCe*_*con 10

我在.emacs文件中有这个

(require 'clojure-mode)
(defun turn-on-paredit () (paredit-mode 1))
(add-hook 'clojure-mode-hook 'turn-on-paredit)
Run Code Online (Sandbox Code Playgroud)

  • 这不是运气;几乎每种模式(实际上,我见过的每一种模式)都将定义“ $(mode-name)-hook”。您可以根据需要添加尽可能多的功能。执行上述操作的另一种方法是:`(add-hook'clojure-mode-hook(lambda()(paredit-mode 1))))` (2认同)