Markdown允许使用嵌入代码
。如何在org-mode
中实现呢?
我知道有源代码块:
#+begin_example
blah-blah
#+end_example
但是我想要的是像这样的东西(显然,使用正确的语法,我不知道):
This is `embeded code`.
这可以在org-mode
中完成吗?文档中找不到相关信息...
您可以使用=
或~
符号将文本括起来,以便在等宽字体中排版并直接导出(这意味着它不会被处理为特定于org的语法):
This is =verbatim text= or ~code~.
您可以在 手册 的相关章节中找到有关 org-mode 标记元素的所有信息。
org-hide-emphasis-markers
,但我在几乎偶然地找到它之前已经搜索了很长时间... - François FévotteBEGIN_SRC
块具有的可执行属性。如果你想要那样的话,下面Tom的答案更好。 - Ken Williamssrc_LANG[headers]{your code}
。例如:src_xml[:exports code]{<tag>text</tag>}
。
编辑:内联代码高亮当然是可能的,尽管需要修补org.el本身:这里给出的答案https://dev59.com/v2Ij5IYBdhLWcg3wYkRY#20652913可以像广告一样工作,将- Inline code src_sh[:exports code]{echo -e "test"}
进入
在HTML导出中。这篇文章中获胜的答案https://dev59.com/v2Ij5IYBdhLWcg3wYkRY#28059832实现了相同的功能,而无需修补org.el,但如果您不喜欢编辑时的光学效果,则需要进行调整。(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)
#+PROPERTY: header-args:python :exports code
所需的[:exports code]是这样给出的,编程语言也可以通过函数来识别。
C-M-,
将代码插入行中(函数会向后搜索以读取PROPERTY行中的语言并插入正确的命令)。
+BEGIN_SRC...
。 - Student