Comment définir la taille de police par défaut?

12

Je me retrouve constamment à effectuer un zoom arrière (Cx C--) dans chaque tampon que j'utilise afin de voir plus de lignes de code sur lesquelles je travaille.

Existe-t-il un moyen de définir le niveau de zoom dans mes .emacs, pas de manière interactive? Ou dois-je chercher à définir la taille de la police? J'utilise le zoom, car c'est la solution la plus simple / la plus rapide, mais je préfère trouver une solution plus permanente. Y a-t-il des inconvénients ou des avantages à utiliser l'un par rapport à l'autre? Je ne suis pas clair sur les différences.

aepound
la source
1
Que diriez-vous?: De l' (face-remap-add-relative 'default '((:height 300)))exploser; et (face-remap-add-relative 'default '((:height 120)))pour le réduire? Vous pouvez modifier la hauteur à votre guise. Vous pouvez les transformer en fonctions interactives et les associer à vos raccourcis clavier préférés. Pour les essayer, collez-les dans votre *Scratch*tampon et placez le curseur à la fin d'un extrait de code et tapezC-x C-e
lawlist
3
Si vous effectuez un zoom arrière dans pratiquement tous les tampons que vous utilisez, pourquoi ne pas simplement définir une taille de police plus petite? Voir ce fil SO sur exactement ce problème .
Dan
@Dan: Si la question ne concerne pas le zoom, mais concerne en fait la façon de définir la taille de police par défaut, elle devrait peut-être être fermée en tant que doublon de la question que vous citez. On dirait que l'OP n'est peut-être pas sûr de ce qu'il veut à cet égard: définir la taille de la police ou le zoom.
Drew
@Drew: d'accord. OP: cherchez-vous à définir la taille de la police ou à agrandir?
Dan
1
Ma réponse serait: dans ce cas, consultez la page Wiki Emacs que j'ai citée dans ma réponse. Il couvre tout sur la définition des polices et des tailles de police, à la fois de manière interactive (par exemple zoom) et dans les fichiers init (définition des valeurs par défaut). C'est l'endroit où commencer (et probablement l'endroit où se terminer).
Drew

Réponses:

8

Oui. Ce que vous voulez, c'est zoomer (la taille de police pour) un cadre , quels que soient les tampons qui y sont affichés.

Voir la bibliothèque zoom-frm.elet ces descriptions du zoom d'un cadre et du zoom d'un tampon .

Voir, en particulier, la commande zoom-in/out, qui fait les deux. Il est lié par défaut aux touches normalement liées à tamponner juste zoom: C-x C-+, C-x C--, C-x C-0et C-x C-=. Vous pouvez également lier des commandes zoom-inet des zoom-outrotations de la molette de la souris. L'utilisation C-ude l'une de ces commandes bascule entre le zoom de trame et le zoom de tampon.

Outre le zoom interactif des cadres ou des tampons, vous pouvez bien sûr définir la taille de police par défaut que vous souhaitez pour tous les cadres.

La même page Emacs-Wiki contient plus d'informations sur la définition des polices et des tailles de police.


Mettre à jour après avoir décidé de définir la taille de police par défaut

La réponse se trouve dans la dernière ligne que j'ai écrite ci-dessus: voir la section Changer globalement la police par défaut sur la page Emacs Wiki Set Fonts . Il vous indique comment définir la police par défaut. (Il vous indique également comment zoomer les tailles de police de manière interactive.)

Voici ces informations en un mot - mettez-les dans votre fichier init:

(add-to-list 'default-frame-alist '(font . FONT ))
(set-face-attribute 'default t :font FONT )

Mais lisez toute la section de cette page, car elle vous en dit plus, y compris comment définir la police par défaut à l'aide .Xresourceset le démon Emacs. Un exemple de ligne appropriée ~/.Xresourcespour définir la taille de police par défaut est:

Emacs.default.attributeHeight: 94
A dessiné
la source
J'ai lu dans la documentation que le zoom-frm.elavait la possibilité d'enregistrer les personnalisations, même si cela semble un peu déroutant. (Je n'ai pas fait grand-chose avec l'interface de personnalisation, préférant plutôt définir les choses dans le fichier init). Je vais essayer.
aepound
Oui, le commentaire du fichier zoom-frm.elvous indique comment enregistrer les personnalisations de changement de police, y compris comment le faire sans utiliser l'interface utilisateur de personnalisation. FWIW, je recommande aux gens d'utiliser Customize, mais qui utilisent une autre custom-file(voir cette variable) au lieu de laisser Customize écrire du code dans leur fichier init.
Drew
10

Si vous souhaitez utiliser un sélecteur de police GUI avec des aperçus et tout, vous pouvez utiliserM-x menu-set-font

Emacs choisit une police

xandfury
la source
1
Merci, cela devrait être la seule réponse recommandée, ici, sur la page wiki, sur la page d'accueil d'Aquamacs!
Agam
Comment rendez-vous cela permanent?
smonff
3

J'utilise ceci pour zoomer sur Emacs (pas seulement le tampon actuel):

;; http://blog.vivekhaldar.com/post/4809065853/dotemacs-extract-interactively-change-font-size
(defun my/zoom-in ()
  "Increase font size by 10 points"
  (interactive)
  (set-face-attribute 'default nil
                      :height
                      (+ (face-attribute 'default :height)
                         10)))

(defun my/zoom-out ()
  "Decrease font size by 10 points"
  (interactive)
  (set-face-attribute 'default nil
                      :height
                      (- (face-attribute 'default :height)
                         10)))

;; change font size, interactively
(global-set-key (kbd "C->") 'my/zoom-in)
(global-set-key (kbd "C-<") 'my/zoom-out)
rekado
la source