2017-03-08 2 views
1

Ich möchte die Hintergrundfarbe von Emacs Markdown-Modus ändern, aber nur die Code-Abschnitte, vor allem, weil ich will, dass sie leicht vom Rest unterscheidbar sind. Ich habe einige Farbthemen durchgesehen, finde aber nicht die richtige Variable dafür.Anpassen Aussehen von Emacs Markdown-Modus

Ich benutze das Colortheme-Paket mit einer leicht modifizierten Version auf 'Andreas' Thema. Für Markdown verwende ich Markdown-Modus und Polymode (für Rmd). Hier

ist eine Demo 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. 

Die Frage ist, wie PolyModE anpassen. Es hellt den Hintergrund für die Code-Chunks leicht auf.

Dies, glaube ich, ist der relevante Teil der 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))) 

Antwort

1

Es ist wie die Gesichter sehen Sie anpassen möchten, sind markdown-pre-face (für gegliederte Code-Blöcke) und markdown-inline-code-face (für Inline-Code).

Diese beiden Flächen können über customize-face geändert werden, wenn Sie dies wünschen.

Sie können dies selbst herausfinden, wenn Sie den Cursor in einen Codeblock setzen und M-x describe-face ausführen. Die Standardauswahl gilt für das Gesicht, auf dem sich der Cursor befindet.

+0

Wenn ich M-x customize-face in einem Codeblock mache, ist der Standardwert 'all faces'. Das verstehe ich nicht. Modifiering Inline-Codeteile funktionierten ok, aber Codeblocks nicht. –

+0

Entschuldigung, ich meinte in diesem letzten Absatz "beschreibendes Gesicht", nicht "customize-face". Ich werde die Antwort aktualisieren. –

+0

es sagt immer noch "Standard", obwohl mein Cursor im Codeblock ist. –

Verwandte Themen