Orgmode:如何过滤掉缠结的块?

2024-01-31

在 Orgmode 中,有没有办法仅缠结子树中与特定标签匹配(或不匹配)的块?

例如使用以下代码

* A
#+BEGIN_SRC c
   printf("Not exported");
#+END_SRC

* B                :D:

#+BEGIN_SRC c
  printf("Exported");
#+END_SRC

沿着标签导出D,tangle C 文件将只包含printf("Exported");

我在用着org-mode组织我的 emacs 配置,我的目标是派生不同的配置来自主人一emacs-config.org。 (例如仅标记特定的灯光配置)


为了实现这种行为,您可以利用以下事实:yes and no, the :tangleOrg Babel 代码块的标头参数也理解文件名 http://orgmode.org/manual/Extracting-source-code.html;即,对于任何给定的代码块,您可以告诉 Org Babel 您希望该块与哪个文件纠缠在一起。我的想法是为标题添加标签时,自动为某个标题下的每个代码块设置文件名:

(defun org-babel-set-tangle-file ()
  (let ((tag (car (org-get-local-tags))))
    (org-narrow-to-subtree)
    (while (re-search-forward "\\(:tangle \\).*" nil t)
      (replace-match (concat "\\1" tag ".el")))
    (widen)))

(add-hook 'org-after-tags-change-hook 'org-babel-set-tangle-file)

结果的行为是当你调用org-babel-tangle对于当前文件,属于的所有代码块

  • 头条新闻without标签将与默认的缠结文件缠结
  • 带标签的标题将与以该标签命名的文件纠缠在一起。

请注意,上面的函数将特定于标签的缠结文件的文件扩展名设置为.el;既然您提到您想要生成不同的 Emacs 配置,我认为这将是一个合理的默认配置(即使您在示例中显示了 C 代码)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Orgmode:如何过滤掉缠结的块? 的相关文章

随机推荐

  • 动态库映像不包含x86_64、i386架构

    我正在尝试为 iOS 构建动态库 并结合架构 armv7 armv7s arm64 i386 x86 64 Here is my target s Build Settings 如您所见 我已将 x86 64 和 i386 添加到架构 an
  • 在 iPad 上调试 JavaScript 错误

    有什么方法可以调试在 iPad 上运行的 JavaScript 页面吗 转到此位置 并启用调试控制台 iOS6 调试控制台消失了 使用替代方案使其发挥作用 例如 Firebug Lite 看看这里的相关问题 iOS6 删除了 iPad 的控
  • 不存在的模型类的雄辩关系

    我希望在我的应用程序中拥有许多模型 模块 但其中一些模型 模块将被某些客户删除 现在我有这样的关系 public function people return this gt hasMany People model id 当我跑步时 mo
  • Java 虚拟机和交换空间

    感谢这里的任何专家可以就以下 JVM 和交换空间相关查询提供建议 提前致谢 1 当 JVM Java 堆 永久代或本机堆中发生内存不足时 操作系统将使用交换空间 我对吗 或者交换空间用于本机堆中的内存不足 2 我是否正确 本机堆大小在 JV
  • 在 iOS SDK 中使用短信/彩信发送附件

    在 iOS 7 中 支持通过第三方应用程序在短信中添加附件 我想知道 支持哪些类型的文件作为附件 例如 png pdf 等 我可以通过短信 彩信发送 NSData 吗 例如 dat 格式 这些邮件的收件人是否能够使用 iOS 的 打开方式
  • Qt Webkit Bridge:C++ 访问 JavaScript

    我正在使用 QWebView 并调用 setHtml 来显示一些 HTML JavaScript 页面 我使用 QWebFrame evaluateJavaScript 传递数据更新 方法是向其传递包含对 JavaScript 函数 带参数
  • 从文本文件读取 - 批处理

    我有一个文本文件 a txt 你好世界下午好 我编写了一个批处理脚本来逐行读取该文件的内容 FOR F tokens delims x in a txt DO echo x 我得到的输出为 Hello World 由于分隔符 空格 的默认行
  • 在Python中使用字符串调用函数[重复]

    这个问题在这里已经有答案了 前几天在网上搜索 发现一篇关于python字典的有趣文章 这是关于使用字典中的键来调用函数 在那篇文章中 作者定义了一些函数 然后定义了一个字典 其键与函数名完全相同 然后他可以从用户那里获取输入参数并调用相同的
  • 继承:内部类与内部接口

    在表达关切的同时防止基类暴露 https stackoverflow com questions 52842532 prevent exposure of base classes abstract classes 52843168 528
  • CMYK + CMYK = ? CMYK / 2 =?

    假设CMYK中定义了两种颜色 color1 30 40 50 60 color2 50 60 70 80 如果要打印它们 最终的颜色会有什么值 color new min cyan1 cyan2 100 min magenta1 magen
  • 为所有用户卸载自动运行注册表项

    考虑这种情况 Inno Setup 将名为 XYZ 的程序安装到 Program Files 中 供所有用户访问 程序 XYZ 中的配置选项允许安装注册表值HKCU Software Microsoft Windows CurrentVer
  • Android:将静态库合并为一个

    我使用 Android NDK r8 生成多个静态库包括 BUILD STATIC LIBRARY 我成功得到 lib1 a lib2 a lib3 a等 现在我想将这些静态库合并为一个 我尝试使用 Android NDK 中的 ar ex
  • 为什么有 BigInteger(String) 而没有 BigInteger(long)?

    在 Java 中 要将 String 转换为 BigInteger 可以使用构造函数new BigInteger String 但要转换 int long 你可以使用工厂函数BigInteger valueof long 这是为什么 Mor
  • AngularDart 组件和模型绑定

    是否可以将 AngularDart ngComponent 绑定到模型 然后从组件操作该模型 并查看 ngComponent 外部更改之外的更改 例如
  • WordPress - $wpdb->插入 - MySQL NOW()

    是否有可能在 wpdb gt insert 调用中使用 MySQL NOW 当我使用以下代码时 NOW 不起作用 data array id gt NULL order gt serialize POST data Order create
  • 从另一个 .ipynb 文件导入函数

    我在名为 functions ipynb 的文件中定义了一个 hello world 函数 现在 我想使用 导入函数 导入另一个文件中的函数 我确信它们位于同一个文件夹中 但是 它仍然显示 ImportError 没有名为函数的模块 顺便说
  • fputs和fflush,写入和缓冲过程

    我对 C 中的写入处理如何进行感到困惑 所以我有一个字符串 s 我想将其写入输出 为此 我使用 fputs fputs s stdout 但显然这不会写入输出 而只是收集数据进行写入 具体是在哪里收集的 所以我必须等到程序退出或者直到我调用
  • 如何正确使用SerialPort.DiscardInBuffer?

    我编写了一个应用程序 它以非常快的速度从串行设备读取数据 然而 串行端口对象无法触发收到数据 https learn microsoft com en us dotnet api system io ports serialport dat
  • 删除单链表中的元素

    在此代码中 我删除链接列表中的元素 11 gt 12 gt 13 gt 14 gt 15 gt 12 gt 16 如果我想删除 12 它只删除第一次出现的元素 即 o p 将是 11 gt 13 gt 14 gt 15 gt 12 gt 1
  • Orgmode:如何过滤掉缠结的块?

    在 Orgmode 中 有没有办法仅缠结子树中与特定标签匹配 或不匹配 的块 例如使用以下代码 A BEGIN SRC c printf Not exported END SRC B D BEGIN SRC c printf Exporte