Emacs 组织模式源包含行号
组织模式有一个很好的特性,可以包含如下源代码:Emacs 组织模式源包含行号,emacs,org-mode,Emacs,Org Mode,组织模式有一个很好的特性,可以包含如下源代码: #+begin_src java -n /** * @param foo */ public static void doBar(Baz ba) { Collection<String> strings = ba.getStrings(true); return strings; } #+end_src #+begin\u src java-n /**
#+begin_src java -n
/**
* @param foo
*/
public static void doBar(Baz ba)
{
Collection<String> strings = ba.getStrings(true);
return strings;
}
#+end_src
#+begin\u src java-n
/**
*@param-foo
*/
公共静态真空多巴(巴兹巴)
{
Collection strings=ba.getStrings(true);
返回字符串;
}
#+结束(src)
-n
选项显示行号
有一个+n
选项可以从最后一个块继续编号
有没有设置起始号码的选项?这对于希望行号对应于完整文件的源代码片段非常有用。据我所知,没有实现的选项 我刚刚测试过的一个非常棘手的解决方案是定义计数器组织用于+n工作的您自己。 它说:
#+begin_src emacs-lisp :exports results
;; we need it not be a buffer-local value
(setq-default org-export-last-code-line-counter-value 42)
#+end_src
作为一个肮脏的黑客,它只在第一个块中工作一次,但我不确定±n的行为如何。
在对任何其他块进行编号之前对其进行评估(因为:导出结果,在我尝试时没有实际导出任何内容),因此它可以位于缓冲区中的任何位置
我想这不会很难实现,或者由真正了解elisp的人来做得更好,但我希望这会有所帮助。这是在组织模式9中添加的。现在可以将数字同时传递给
-n
和+n
例如,您可以使用以下标题在第12行开始示例:
#+begin_src java -n 12
...
#+end_src
我同意。对这个问题的一个长的回答可以如下所示。但除了屏幕截图,它只是从手册中复制和粘贴
如本节所述,您可以向源块和示例块添加行号:
在示例和src代码段中,都可以向
BEGIN
行的末尾,对示例中的行进行编号。这个
-n
接受一个可选的数字参数,指定块的起始行号。如果使用+n
开关,则
先前编号的代码段将在当前代码段中继续。+n
也可以接受数字参数。参数的值将为
添加到上一个块的最后一行以确定起始位置
行号
您还可以参考行号:
在文本示例中,Org将像(ref:name)
这样的字符串解释为
标签,并将其用作特殊超链接的目标,如[[(名称)]
(即,单括号中的引用名称)。在HTML中,
将鼠标悬停在此类链接上将突出显示远程链接
对应的代码行,有点酷
演示这两个特性的示例如下:
#+BEGIN_SRC emacs-lisp -n -r
(save-excursion (ref:sc)
(goto-char (point-min))) (ref:jump)
#+END_SRC
In line [[(sc)]] we remember the current position.
[[(jump)][Line (jump)]] jumps to point-min.
它将产生
我没有试过这个,但它看起来很合理。嗨@justingordon。如果你有机会,你能把被接受的答案改成@jco的吗?现在它是你问题的正确答案。