【问题标题】:automatic header for org-mode in emacsemacs 中 org-mode 的自动标头
【发布时间】:2015-08-31 21:39:30
【问题描述】:

我正在使用 define-auto-insert '("\.org\'" . "org skeleton") 宏来插入标题。每当我创建任何新的 org 文件时,它都可以正常工作。但它也将自动标题插入到另一个空的 orgs 文件(出于某种特殊原因使用 touch 命令创建)。有人可以建议我以任何方式使宏在我在emacs中打开它们时不会在已创建的空文件中添加标题吗?

【问题讨论】:

    标签: emacs org-mode


    【解决方案1】:

    Autoinsert 并不是真正为区分而设计的。实现这一点的最简单方法是将自动插入函数与另一个函数包装起来,然后将其注册到新的文件挂钩中。例如:

    (defun auto-insert-guard ()
       "Prevent auto-insertion for files that exist already"
       (interactive)
       (unless (file-exists-p (buffer-file-name))
         (auto-insert)))
    

    用这个代替钩子:

    (add-hook 'find-file-hook 'auto-insert-guard)
    

    它显然可以比这更复杂,您可能只想对某些类型的文件使用此保护。

    有时您会看到使用 defadvice 完成的类似操作,但这通常更脆弱,当您稍后返回时可能难以理解。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      相关资源
      最近更新 更多