Comment puis-je définir la police par défaut dans Emacs?

31

Je ne peux pas définir Inconsolata comme police par défaut dans Emacs 24.4 Linux.

  • J'ai changé la police dans le menu -> Enregistrer les options. La police a changé mais après un redémarrage, la police est la même que par défaut.
  • Ajouté à ~/.Xresources: Emacs.font: Inconsolata LGC

    Puis , en init.el: (set-default-font "Inconsolata LGC"). Même histoire.

Qu'est-ce que je fais mal?

Maglight
la source
Si la police fonctionne lorsque vous la définissez, mais disparaît la prochaine fois que vous chargez emacs, cela peut être un problème avec l'endroit où vos paramètres de personnalisation sont (ou ne sont pas) enregistrés.
nispio
J'utilise emacsclient avec emacs démarré en tant que démon. Je modifie les paramètres dans init.el et après avoir enregistré, redémarrez le démon.
Maglight
2
Est-ce spécifique à Emacs 24.4? IOW, obtenez-vous un comportement différent dans une autre version / version? Sinon, envisagez de supprimer la référence à 24.4.
Drew
Puisque vous démarrez emacs en tant que démon, inspectez toutes les sorties de la console de votre appel à emacs --daemonet assurez-vous qu'il n'y a aucun message d'erreur.
nispio
J'ai ceci dans mon init.el: (set-frame-font "Ubuntu Mono 11")
thdox

Réponses:

30

J'ai les éléments suivants dans mes .emacs utilisant Emacs pour OSX:

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 130 :width normal :family "Inconsolata")))))

Définition de la police

Il est plus facile de définir la police à l'aide des menus si vous exécutez Emacs dans un environnement graphique. Utilisez "Options -> Définir la police par défaut ..." dans les menus.

Maintenant, vous n'avez pas terminé, car vous n'avez modifié la police que temporairement. La méthode la plus simple que je connaisse est d'utiliser le mode de personnalisation.

M-x customize-face RET default RET

Modifiez maintenant les options que vous souhaitez modifier, le cas échéant. Si vous avez déjà changé la police à l'aide des menus, vous devriez voir vos changements ici.

Enregistrement dans votre fichier init

Économisez pour les sessions futures en:

  • Cliquez sur le bouton État et choisissez Enregistrer pour les sessions futures

ou

  • C-x C-s tandis que dans le tampon de personnalisation qui volonté devrait faire la même chose mais ne fonctionne pas toujours, par exemple après(set-default-font "Inconsolata")

Si tout le reste échoue ...

Vous aurez peut-être de la chance avec la page Définir les polices .

Harvey
la source
16

J'utilise ceci dans mon init.el:

;; Set default font
(set-face-attribute 'default nil
                    :family "Source Code Pro"
                    :height 110
                    :weight 'normal
                    :width 'normal)

Vous pouvez essayer la même chose en utilisant Inconsolata au lieu de Source Code Pro.

Boccaperta-IT
la source
Ajouté dans init.el. Après redémarrage, la police est toujours par défaut.
Maglight
Avez-vous tapé "InconsolataLGC" sans l'espace vide entre "Inconsolata" et "LGC"?
Boccaperta-IT
Oui, j'ai également essayé de le régler sur Terminus.
Maglight
1
Essayez de courir fc-cache -fvdepuis votre terminal. Le cache des polices n'est peut-être pas à jour. J'ai essayé de configurer Anonymous Pro et cela fonctionne sur le mien.
Boccaperta-IT
Merci, mais cela n'a pas aidé. Je peux définir cette police, mais Emacs ne l'enregistrera pas dans les sessions futures.
Maglight
12

Si vous avez modifié quelque chose dans le fichier .Xresources , vous devez le relire pour voir les modifications dans la session en cours.

  • Pour conserver vos anciens paramètres de ressources et en appliquer un nouveau:

    xrdb -merge ~/.Xresources
    
  • Pour jeter vos anciennes ressources et appliquer uniquement les paramètres de .Xresources :

    xrdb ~/.Xresources
    

Les ajustements dans le fichier .Xresources sont meilleurs, car ils sont appliqués avant de mapper la fenêtre X11 d'emacs. Les personnalisations dans les fichiers init (.emacs, .emacs.d /) sont réappliquées à la fenêtre déjà créée. Vous pouvez par exemple éviter que les barres d'outils ne "scintillent" lors du démarrage lorsque vous ajoutez

! UI elements
Emacs.menuBar: 0
Emacs.toolBar: 0
Emacs.verticalScrollBars: off
! Font settings
Emacs.FontBackend: xft,x
Emacs.font: Inconsolata LGC:size=16

dans votre fichier .Xresources .

Vous pouvez vérifier ce qui est disponible sur https://www.gnu.org/software/emacs/manual/html_node/emacs/X-Resources.html

kmicu
la source
5

Cela fonctionne toujours quand je veux essayer d'autres polices (mettez-les dans votre fichier init.el ou .emacs):

(push '(font . "Inconsolata") default-frame-alist)

ou

(add-to-list 'default-frame-alist '(font . "Inconsolata"))

Dans ce cas, les deux expressions sont équivalentes.

En bref, ces formulaires définissent la police pour les cadres Emacs actuels et futurs. Étant donné que ceux-ci sont enregistrés dans votre fichier de configuration, la configuration n'est pas perdue au redémarrage.

undostres
la source