Emacs 在完整路径上定义自动插入模式

Emacs 在完整路径上定义自动插入模式,emacs,dot-emacs,Emacs,Dot Emacs,我正在寻找一种方法,告诉自动插入模式在文件路径(而不仅仅是文件扩展名)上使用不同的模板 我希望在*/meetings目录下创建的所有.org文件都有一个已定义的模板 以下设置不起作用: (auto-insert-mode) (setq auto-insert-directory "~/org/template/") ;;; *NOTE* Trailing slash important (setq auto-insert-query nil) ;;; If you don't want to

我正在寻找一种方法,告诉自动插入模式在文件路径(而不仅仅是文件扩展名)上使用不同的模板

我希望在*/meetings目录下创建的所有.org文件都有一个已定义的模板

以下设置不起作用:

(auto-insert-mode)  
(setq auto-insert-directory "~/org/template/") ;;; *NOTE* Trailing slash important
(setq auto-insert-query nil) ;;; If you don't want to be prompted before insertion
(define-auto-insert "\/meetings/\.org" ".meetings_template.org")
(define-auto-insert "\.org" ".template.org")

你有什么想法吗?

名称与正则表达式匹配。你为会议提供的服务不是你想要的。试试这个:
“/meeting/*\\.org”

名称与正则表达式匹配。你为会议提供的服务不是你想要的。试试这个:
“/meeting/*\\\.org”

好的观点。但它不起作用。我还尝试了
(setq auto insert search current dir t)
,并在会议目录中放置了一个模板文件,但也不起作用。有关这方面的详细信息:如果我注释掉
(定义auto insert“\.org”“.template.org”)
,则它会按预期运行(模板会插入到会议目录下的每个组织文件中). 但不知何故,当设置了这两行时,emacs似乎就好像只有第二行是有效的一样(即,它在每个新的.org文件上添加
.template.org
。第一个正则表达式也与第二个正则表达式匹配。因此,emacs只复制一个模板文件的内容。要解决您的问题,您需要对第二行的条件进行更严格的限制,以便它不会捕获第一行。这一点很好。但是不起作用。我还尝试了
(setq auto insert search current dir t)
,并在会议目录中放置了一个模板文件,但也不起作用。有关这方面的详细信息:如果我注释掉
(定义auto insert“\.org”“.template.org”)
,则它会按预期运行(模板插入到meetings目录下的每个组织文件中)(即,它在每个新的.org文件上添加
.template.org
。第一个正则表达式也与第二个正则表达式匹配。因此,emacs仅复制一个模板文件的内容。要解决您的问题,您需要使第二行的条件更加严格,以便它不会捕获第一行。您的ema版本cs似乎过时了。在最新版本的autoinsert中,没有“auto insert search current dir”。Nicolas的答案应该是在最新版本的emacs上。@thisirs:事实上,我读过的是已经过时的autoinsert文档。我的emacs是2.24.10。您的emacs版本似乎过时了。在最新版本的autoinsert中,第没有“自动插入搜索当前目录”。Nicolas的答案应该是最近的emacs。@thisirs:事实上,我读过的是过时的自动插入文档。我的emacs是2.24.10