编辑:事实证明,我的.emacs文件的第二次编辑实际上是有效的.(参见本条目下方的评论.)
我尝试了几个.emacs的附加功能,以便在emacs中使用orgmode打开所有txt文件.他们没有工作.我怎样才能实现呢?
;;SET EMACS AS DEFAULT MAJOR MODE TO FOR ALL FILES WITH AN UNSPECIFIED MODE
(setq default-major-mode 'org-mode)
;;OPEN ALL TXT FILES IN ORGMODE
(add-to-list 'auto-mode-alist '("\\.txt$" . org-mode))
Run Code Online (Sandbox Code Playgroud)
另外:
在某个目录orgmode中只打开txt文件会更好.任何暗示如何做到这一点也将不胜感激.
另一种方法是使用目录局部变量。这很好,因为您可以将文件放在您希望此行为参与的任何目录中,并且它在任何子目录中递归工作。
创建一个.dir-locals.el在所需目录中调用的文件。
以下是内容:
((nil (eval . (if (string-match ".txt$" (buffer-file-name))(org-mode)))))
Run Code Online (Sandbox Code Playgroud)
像这样阅读:对于任何主模式 ( nil),请eval使用以下形式:
(if .... (org-mode))
Run Code Online (Sandbox Code Playgroud)
您可以实现一个钩子来验证文件目录并修改缓冲区模式:
(add-hook 'find-file-hooks
(lambda ()
(let ((file (buffer-file-name)))
(when (and file (equal (file-name-directory file) "c:/temp/"))
(org-mode)))))
Run Code Online (Sandbox Code Playgroud)
作为替代方案,您可以在文本文件的开头添加模式行。在这种情况下,emacs 将设置指定的模式。
; -*- mode: org;-*-
* header 1
** header 2
Run Code Online (Sandbox Code Playgroud)