Markdown允许embedded code
。如何在org-mode
?
我知道源代码块:
#+begin_example
blah-blah
#+end_example
但我想要的是这样的事情(显然,使用正确的语法,我不知道):
This is `embeded code`.
这可以在org-mode
完成吗?不可能在文档中找到...
答案 0 :(得分:100)
虽然monospaced对大多数情况都足够好,但内联代码块的格式为src_LANG[headers]{your code}
。例如,src_xml[:exports code]{<tag>text</tag>}
。
编辑:内联代码的代码突出显然是可能的,虽然修补了org.el本身:这里给出的答案https://stackoverflow.com/a/20652913/594138与广告一样有效,转向
- Inline code src_sh[:exports code]{echo -e "test"}
向
在html-export中。并且在这篇文章https://stackoverflow.com/a/28059832/594138中获胜的答案在不需要修补org.el的情况下实现了相同的效果,但如果您在编辑期间不喜欢光学器件,则必须熟练。
答案 1 :(得分:89)
您可以将文本括在=
或~
符号中,使其以等宽字体排版并逐字导出(这意味着它不会针对org特定语法处理):
This is =verbatim text= or ~code~.
您可以在manual的相关部分找到有关org-mode标记元素的所有信息。
答案 2 :(得分:0)
我写了一个函数,我希望它有助于管理内联代码。
(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 行中的语言并插入正确的命令)。