给定:
- 带有源代码的 elisp 文件
- 包含文档的 org 文件
典型源文件的方案:
;header, describing <code snippet 1>
<code snippet 1>
;header, describing <code snippet 2>
<code snippet 2>
...
;header, describing <code snippet n>
<code snippet n>
组织文件的方案:
* <file_name.el>
1. [[./<file_name.el>::1][header, describing <code snippet 1>]]
2. [[./<file_name.el>::<line of header 2>][header, describing <code snippet 2>]]
...
n. [[./<file_name.el>::<line of header n>][header, describing <code snippet n>]]
org 文件目前由我手动创建。当我单击该链接时,我将被重定向到文件的相应行。但是当源文件被修改时,我被重定向到错误的行。
是否可以更改当我单击链接时调用的函数,以便它搜索正则表达式:"^;header, describing <code snippet n>"
而不是将我重定向到固定线路号码?
也许,您可以建议我一种更好的方法来在 org 文件和另一个文本文件的适当位置之间创建映射?
最佳答案
您可以在源文件中定义 anchor (即不会出现在文件中其他任何位置的单词),并在组织文件中链接到它们:
; <<foo>>
(defun foo ())
; <<bar>>
(defun bar ())
- [[file:source.el::<<foo>>][foo]]
- [[file:source.el::<<bar>>][bar]]
此类“文字搜索”链接仅限officially documented对于组织文件,但我怀疑它适用于每个基于文本的文件。
关于emacs - 是否可以使用组织模式链接在源代码内部导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24910380/