Come posso impostare caratteri di dimensioni diverse per i buffer e per la linea di modalità?


14

Ho questa linea nel mio file init.el per impostare la dimensione del carattere in tutti i frame:

(push '(font . "DejaVu Sans Mono-10") default-frame-alist)

Funziona ma mi piacerebbe avere un carattere più grande in tutti i buffer mantenendo uno più piccolo per la linea di modalità (in modo da poter contenere più informazioni ed essere meno distratto). L'idea è di avere questo set automaticamente senza dover cambiare la dimensione del carattere con Cx C- + per ogni buffer aperto.

Sto usando Emacs 25.0.50.1 compilato dal trunk su un sistema GNU / Linux.

Modifica: appena aggiunta una risposta che mostra come si può fare.

Risposte:


14

Prova a sostituire il codice per impostare la dimensione del carattere con questo:

(set-face-attribute 'default nil :font "DejaVu Sans Mono-14")
(set-face-attribute 'mode-line nil :font "DejaVu Sans Mono-10")

Ovviamente, vorrai cambiare le dimensioni ( 14e 10) in valori di tuo gradimento.


Se vuoi personalizzare un viso specifico e non ne conosci il nome, prova a farlo

M-x list-faces-display RET

Questo ti darà un elenco di tutti i volti (con anteprime) che puoi cercare parole chiave specifiche.


1
Grazie, era quello. La funzione di visualizzazione delle facce dell'elenco si rivela molto utile poiché ci sono 5 facce relative alla linea di modalità che possono essere modificate.
undostres

@undostres Prego :)
itsjeyd

C'è un modo per specificare il carattere relativo al tema predefinito? Se si specifica una dimensione del carattere specifica, il carattere non viene ridimensionato quando si utilizza l'aumento / riduzione del ridimensionamento del testo
jr0cket

7

Grazie alla risposta fornita da itsjeyd sono riuscito a scrivere una breve espressione per modificare le dimensioni di tutte le facce relative alla linea di modalità per tutti i frame attuali e futuri.

Se stai usando altri temi oltre a quello predefinito (come zenburn, ecc.), Il codice dovrebbe essere inserito dopo aver dichiarato il tema; cioè, dopo questa linea:

(load-theme 'solarized-light t)

Supponendo che la dimensione del carattere predefinita sia diversa da 10, il codice sarebbe:

(let ((faces '(mode-line
               mode-line-buffer-id
               mode-line-emphasis
               mode-line-highlight
               mode-line-inactive)))
     (mapc
      (lambda (face) (set-face-attribute face nil :font "DejaVu Sans Mono-10"))
      faces))

Per un carattere più piccolo, impostare un valore più piccolo ("DejaVu Sans Mono-9"). È possibile utilizzare altri caratteri: inconsolata, ecc.

Modifica: aggiunto uno screenshot che mostra i risultati. La dimensione del carattere sulla riga della modalità è 10 mentre il resto (buffer, ecc.) È 12.

Carattere di riga di modalità più piccolo

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.