Utilizzo sia di caratteri a larghezza fissa che a larghezza variabile in modalità org


9

Vorrei un file in modalità org con il seguente contenuto:

#+TITLE: My awesome Emacs file

* My Header
Here's some information under the header

#+BEGIN_SRC sh
echo "this is some code"
#+END_SRC

More text and =verbatim= things

E 'possibile avere visualizzazione Emacs l'intestazione e il testo in un font a larghezza variabile e solo il #+BEGIN_SRC, #+END_SRC, =verbatim=e il codice sorgente in un carattere a larghezza fissa?

Risposte:


5

Questo è tutt'altro che duplice di questa domanda su SO. Al momento della stesura di questo documento, la risposta accettata laggiù è (mutatis mutandis):

(set-face-attribute 'org-verbatim nil :inherit 'fixed-pitch)

EDIT: in realtà leggi la tua domanda. Dato che vuoi cambiare più facce, questa è una risposta più completa:

(dolist (face '(org-block-begin-line 
                org-block-end-line 
                org-verbatim 
                org-block-background))
  (set-face-attribute face nil :inherit 'fixed-pitch)

Si noti che questo sovrascriverà tutti i :inheritparametri esistenti sulle facce. Se questo è un problema, un'altra risposta alla stessa domanda SO fornisce il codice per aggirare il problema.


1

Non conosco bene come org-modedelimita i blocchi, quindi posso solo dare una risposta generale.

Esiste una faccia standard chiamata variable-pitch, che puoi applicare a una determinata regione come questa:

(set-text-properties (region-beginning) (region-end) '(face (variable-pitch))))

Questo funziona solo quando viene inibita la fontificazione automatica. Potresti essere in grado di agganciare org-modeil codice di fontificazione e sovrascrivere il volto delle regioni selezionate con variable-pitch.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.