2017-03-08 85 views
1

我想更改emacs markdown-mode的背景顏色,但只有代碼段,主要是因爲我希望它們可以很容易地與其餘的區分。我查看了一些colorthemes,但似乎無法找到正確的變量來做到這一點。自定義emacs markdown-mode的外觀

我在'Andreas'主題上使用稍微修改版的colortheme包。對於降價,我使用降價模式和多模式(對於Rmd)。

這裏是一個演示RMD

--- 
title: "Demo" 
author: "me" 
date: "08.09.17" 
--- 

# Title 

Here is some text. This is inline code `paste("Hello world")`. This is 
a code block: 

```{r this should be dark gray} 
head(iris) 
``` 

And thats it. 

的問題是,如何定製polymode。它爲代碼塊略微減輕了背景。

這一點,我相信,是polymode-methods.el相關部分:

(defun pm--get-adjusted-background (prop) 
    ;; if > lighten on dark backgroun. Oposite on light. 
    (color-lighten-name (face-background 'default) 
         (if (eq (frame-parameter nil 'background-mode) 'light) 
          (- prop) ;; darken 
        prop))) 

回答

1

它看起來像你想定製的臉都是markdown-pre-face(用於縮進代碼塊)和markdown-inline-code-face(內聯代碼)。

如果您願意,可以通過customize-face更改這兩個面。

如果您將光標放在代碼塊中並運行M-x describe-face,您可以自己計算出結果。默認選擇是光標所在的面。

+0

當我在代碼塊中執行M-x自定義面部時,默認設置爲'全部面部'。這是我不明白的。修改內聯代碼部分可以正常工作,但代碼塊不行。 –

+0

對不起,我在最後一段中的意思是「描述性的臉」,而不是「自定義臉」。我會更新答案。 –

+0

即使我的光標位於代碼塊中,它仍然會顯示'默認'。 –