这是一个求助贴。
我最近刚开始学习使用emacs-lisp,我想实现一个简单的功能:org-combine-and-edit-tangle-block.
简而言之,这个函数有点像org-edit-special,但是可以将指定的多个src-block拼接起来,使用指定分割线进行分割不同的src-block(假设此门语言的注释前缀为#,那么这个分割线就可以是######### src block at [position] #######). 我希望的是把所有:tangle值相同的src-block拼接。
完成了编辑以后,使用C-c C-c 退出,将所有的src-block的内容重新归位。(这个功能我居然完成不了,C-c C-c被绑定了Org-edit-src-exit,我不知道怎么重新绑定到新函数,所以我将其绑定到了C-c a).
之所以要写这个函数,是因为很多时候,一个src-block中的函数或变量内容可能在其他的src-block中被定义,因此在src-block中的编辑体验不太好。同时,如C语言这种编译后执行的语言并不合适用文学编程。
把所有tangle值相同的block连接起来这个函数相对简单,我很快就做到了,但我没想到,我居然没法把tangle完以后的结果写回到原本的buffer中。
不知道这个功能有没有己有的实现?或者有没有什么曲线完成这个功能的办法?
我写这个帖子的时候意识到,直接从tangle完成的文件往org-mode文件写回可能会简单很多。不过我还没有尝试。
谢谢大家。