Org 模式下的内联代码

降价允许 embedded code。如何在 org-mode中做到这一点?

我知道源代码块:

#+begin_example
blah-blah
#+end_example

但我想要的是这样的东西(显然,用正确的语法,我不知道) :

This is `embeded code`.

这可以在 org-mode中完成吗? 不可能在文档中找到..。

37770 次浏览

你可以用 =或者 ~标志将文本包含在内,让它们以等宽字体排版,然后逐字导出(这意味着它们不会按组织特定的语法进行处理) :

This is =verbatim text= or ~code~.

您将在 手动操作的相关部分中找到所有关于 org 模式标记元素的信息。

虽然单间距对于大多数情况来说已经足够好了,但是内联代码块的形式是 src_LANG[headers]{your code}

编辑: 内联代码的代码突出显示当然是可能的,尽管需要修补 org.el 本身: 这里给出的 https://stackoverflow.com/a/20652913/594138的工作原理与广告中的一样

- Inline code src_sh[:exports code]{echo -e "test"}

进入

enter image description here

超文本标示语言输出。在这篇文章中获胜的答案,https://stackoverflow.com/a/28059832/594138,不需要补丁 org.el 就能达到同样的效果,但是如果你不喜欢编辑过程中的光学效果,你就必须改编它。

我编写了一个函数,我希望它能有助于内联管理代码。

  1. 将这段代码放入初始化文件中
(defun org-insert-inline-code()
"This function insert inline code `src_lang{inline code}' \nYour buffer must contain  '#+PROPERTY: header-args:lang    :exports code' where `lang` can be python or an other programming language."
(interactive  (if (use-region-p)
(progn
(setq start (region-beginning))
(setq end (region-end))
(goto-char start)
(if (re-search-backward "^#\\+PROPERTY: header-args:[^[:blank:]]*" 1 t 1)
(progn
(forward-char 24)
(setq org-inline-lang (word-at-point))
(goto-char start)
(insert (concat "src_" org-inline-lang "{"))
(goto-char (+ 11 end))
(insert "}")
)))
(progn
(setq start (point))
(if (re-search-backward "^#\\+PROPERTY: header-args:[^[:blank:]]*" 1 t 1)
(progn
(forward-char 24)
(setq org-inline-lang (word-at-point))
(goto-char start)
(insert (concat "src_" org-inline-lang "{} "))
(backward-char 2)
))))))


(define-key org-mode-map (kbd "C-M-,") 'org-insert-inline-code)
  1. 将这种属性放入 org 文件中
#+PROPERTY: header-args:python    :exports code

所需的[ : 导出代码]是通过这种方式给出的,编程语言也可以通过函数来识别。

  1. 将代码插入到与 C-M-,一致的行中(函数然后返回搜索读取 PROPERTY 行中的语言并插入正确的命令)。