程序员

org mode中的源码控制

2018-10-26  本文已影响0人  LeaForest

org mode 是 emacs 下的神器,不仅可以作时间管理,笔记管理,也可以做文学编程。这时用到的一个重要功能就是 org-babel 了。

Org 可以获取#+BEGIN_SRC 和 #+END_SRC 标签之间的块中的代码,并格式化,编译,执行和显
示结果。Org 可以简化许多对现代代码维护至关重要的内务处理任务。这就是为什么 Org 模式
文献中的这些块有时被称为'实时代码'块(与静态文本和文档相比)。用户可以控制如何'
生活'他们想要通过调整标题来编译,执行,提取每个块。

代码块的结构

Org 提供了两种在 Org 文档中构造源代码的方法:SRC 块。

一个 src block 符合这个结构:

#+ NAME:<name>
#+ BEGIN_SRC <language> <switches> <header arguments>
  <BODY>
#+ END_SRC

一个 inline code block 符合这个结构:

src_<language>[<header arguments>]{<body>}

代码块的编辑

C-c '可以用于编辑当前代码块,并且会新开 buffer 编辑文件(可以使用对应 minor-mode 下所有的高亮和补全等操作),再次按下会完成并插入代码

代码块的控制

src 块中有能够控制代码块的参数,利用这些参数可以控制代码块。src 的参数一般是:parameter value的格式。
也有一些全局的控制可以写在标题或文件头。

export 参数

code,results,both,none四个参数,分别表示输出代码,输出结果,都输出,都不输出。表示的是 org-export 时的控制参数。

tangle 参数

tangle是一个 bool 值的参数,取值为yes,no,filename,其作用是将所有源代码导出到一个文件。

类似的参数还有

var 参数

向代码块传递参数用的是parameter=value的形式。

results 参数

在 org 中有四类 results 头参数。每个'SRC'代码块每个类只能有一个选项。

采集

关于如何从收集'SRC'代码块的结果。

类型

类型代码块将返回的结果类型; 影响 Org 如何在 Org 缓冲区中处理和插入结果。默认行为是自动确定结果类型。

格式

格式与'返回的结果类型有关 SRC'代码块。选择其中一个选项; 它们是相互排斥的。默认值来自上面指定的类型。

处理

收集结果后处理选项。

file 参数

指定结果保存路径

同样的参数还有

session 参数

指定运行上下文,如果该参数一样,则运行上下文相同

noweb 参数

代码的引用

cache 参数

缓存没有改变的结果,避免重复计算

其他

上一篇 下一篇

猜你喜欢

热点阅读