如何自定义emacs内联代码的颜色,大小和字体

时间:2017-05-28 23:03:45

标签: emacs colors customization inline code-snippets

我曾经一直使用markdown。现在我使用emacs org-mode来处理所有事情("这个koolaid味道很好")。让我疯狂的一件事就是能够在emacs中使用反引号作为内联代码。 我读到的所有内容都希望我使用简单的源代码模板,如下所示:

#+BEGIN_SRC 
Just add: " < " + one of the letters below
s   #+BEGIN_SRC ... #+END_SRC
e   #+BEGIN_EXAMPLE ... #+END_EXAMPLE
q   #+BEGIN_QUOTE ... #+END_QUOTE
v   #+BEGIN_VERSE ... #+END_VERSE
c   #+BEGIN_CENTER ... #+END_CENTER
l   #+BEGIN_LaTeX ... #+END_LaTeX
L   #+LaTeX:
h   #+BEGIN_HTML ... #+END_HTML
H   #+HTML:
a   #+BEGIN_ASCII ... #+END_ASCII
A   #+ASCII:
i   #+INDEX: line
I   #+INCLUDE: line 
#+END_SRC

然后我偶然发现了艾布拉姆斯先生的帖子:Exporting inline code to html in org-mode。对于emacs内联引号,我只需要使用=code=代替'code'?好。为什么在我曾经阅读过的几个月的文档中,这个地方并没有这么简单!? (可能是!)

当然,我想知道如何在emacs中自定义这些内联代码片段的颜色,字体和大小。默认大小太小,没有像markdown那样的微妙背景颜色。

see how small and unhighlighted "sshd" is?

谢谢

2 个答案:

答案 0 :(得分:1)

我相信Org Mode会导出您当前的颜色主题。要验证这一点,您可以更改emacs的颜色方案并重新导出缓冲区以查看是否有变化。

至于我自己,我将org-html-htmlize-output-type设置为css并将org-html-head设置为以下内容:

<link rel="stylesheet" type="text/css" href="path/to/my.css" />

这样,无论我的emacs的颜色主题如何,我都可以随心所欲地调整css。

下面请参阅org-html-htmlize-output-type的帮助:

  

org-html-htmlize-output-type是'ox-html.el'中定义的变量。它的值是'css'原始值是inline-css

     

文档:格式化代码段时htmlize使用的输出类型。选择只是'css'来导出CSS选择器,'inline-css'用于在HTML中输出内联的CSS属性值或'nil'来导出纯文本。我们使用默认的“inline-css”,以使得生成的HTML自包含。

     

...

     

要开始使用css文件,请启动Emacs会话并确保定义您感兴趣的所有面,例如通过以所需的所有模式加载文件。然后,使用命令'M-x org-html-htmlize-generate-css'来提取类定义。

     

您可以自定义此变量。

修改的 请将以下内容添加到init.el,重新启动emacs并重试以查看它是否有效:

(setq       org-html-htmlize-output-type 'css)
(setq-default org-html-head "<link rel=\"stylesheet\" .../>")

答案 1 :(得分:1)

  

我只需要对Emacs内联引号使用= code =而不是'code'?

我认为这是因为您没有仔细阅读本手册。在11.2 Emphasis and Monospace

中描述了等宽
  

您可以将单词“ 粗体”,“ /斜体/”,“ 带下划线”,“ = verbatim =”和“〜code〜

如果要表示代码块,可以使用#+BEGIN_SRC#+END_SRC对。

#+BEGIN_SRC emacs-lisp
  (defun org-xor (a b)
    "Exclusive or."
    (if a (not b) b))
 #+END_SRC

正如您在问题描述中提到的那样,您可以输入<s TAB 来自动完成。


  

我想知道如何在emacs中自定义这些内联代码段的颜色,字体和大小。

在组织中设置字体有两个级别。

  1. 在文档范围内更改字体

#+HTML_HEAD_EXTRA:下添加到组织文件的开头。

#+HTML_HEAD_EXTRA: <style>*{font-family:Arial,'Times New Roman','Microsoft YaHei',SimHei; font-size: 20px; font-style: italic; !important}</style>

@Lungang Fang提供了另一种放置CSS的方法。

  1. 在本地更改字体大小
#+BEGIN_EXPORT html
<p style="font-family:Monospace; font-size: 30px; font-style: italic;">
This is a customized line.
</p>
#+END_EXPORT

要自定义问题描述中提到的块的样式,请参阅我的other answer