Como posso definir a fonte padrão no Emacs?

31

Não consigo definir o Inconsolata como fonte padrão no Emacs 24.4 Linux.

  • Mudei a fonte no menu -> Salvar opções. A fonte foi alterada, mas após uma reinicialização, a fonte é a mesma que era por padrão.
  • Adicionado isto a ~/.Xresources: Emacs.font: Inconsolata LGC

    Então, em init.el: (set-default-font "Inconsolata LGC"). Mesma história.

O que estou fazendo de errado?

Maglight
fonte
Se a fonte funcionar quando você a definir, mas desaparecer novamente na próxima vez que você carregar o emacs, isso poderá ser um problema com o local em que suas configurações de personalização estão (ou não) sendo salvas.
Nispio 23/10
Eu uso o emacsclient com o emacs iniciado como um daemon. Altero as configurações no init.el e após salvar, reinicie o daemon.
Maglight 23/10
2
Isso é específico do Emacs 24.4? IOW, você tem um comportamento diferente em outra build / release? Caso contrário, considere remover a referência a 24.4.
Drew
Como você está iniciando o emacs como um daemon, inspecione toda a saída do console da sua chamada emacs --daemone verifique se não há mensagens de erro.
Nispio 23/10
Eu tenho isso no meu init.el: (set-frame-font "Ubuntu Mono 11")
thdox 13/15

Respostas:

29

Eu tenho o seguinte no meu .emacs usando o Emacs para 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")))))

Definindo a fonte

É mais fácil definir a fonte usando os menus se você estiver executando o Emacs em um ambiente gráfico. Use "Opções -> Definir fonte padrão ..." nos menus.

Agora, você não terminou porque mudou apenas a fonte temporariamente. O método mais fácil que eu conheço é usar o modo de personalização.

M-x customize-face RET default RET

Agora altere as opções que deseja alterar, se houver. Se você já alterou a fonte usando os menus, deverá ver suas alterações aqui.

Salvando no seu arquivo init

Economize para sessões futuras com:

  • Clique no botão Estado e escolha Salvar para sessões futuras

ou

  • C-x C-s enquanto no buffer de personalização que vai deve fazer a mesma coisa, mas nem sempre funciona, por exemplo, depois de(set-default-font "Inconsolata")

Se todo o resto falhar...

Você pode ter sorte com a página Definir fontes .

Harvey
fonte
16

Eu uso isso no meu init.el:

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

Você pode tentar o mesmo usando o Inconsolata em vez do Source Code Pro.

Boccaperta-IT
fonte
Adicionado no init.el. Após reiniciar a fonte estática por padrão.
Maglight 23/10
Você digitou "InconsolataLGC" sem o espaço em branco entre "Inconsolata" e "LGC"?
Boccaperta-IT
Sim, também tentei configurá-lo para Terminus.
Maglight
1
Tente correr fc-cache -fvdo seu terminal. Talvez o cache da fonte não esteja atualizado. Eu tentei configurar o Anonymous Pro e funciona no meu.
Boccaperta-IT
Obrigado, mas isso não ajudou. Eu posso definir essa fonte, mas o Emacs não a salva em sessões futuras.
Maglight
12

Se você alterou algo no arquivo .Xresources , precisará relê- lo para ver as alterações na sessão atual.

  • Para manter suas configurações antigas de recursos e aplicar uma nova:

    xrdb -merge ~/.Xresources
    
  • Para jogar fora seus recursos antigos e aplicar apenas configurações de .Xresources :

    xrdb ~/.Xresources
    

Os ajustes no arquivo .Xresources são melhores, porque são aplicados antes do mapeamento da janela X11 do emacs. As customizações nos arquivos init (.emacs, .emacs.d /) são reaplicadas à janela já criada. Você pode, por exemplo, evitar que as barras de ferramentas "pisquem" durante a inicialização ao adicionar

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

para o seu arquivo .Xresources .

Você pode verificar o que mais está disponível em https://www.gnu.org/software/emacs/manual/html_node/emacs/X-Resources.html

kmicu
fonte
5

Isso sempre funciona sempre que eu quero tentar outras fontes (coloque no seu arquivo init.el ou .emacs):

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

ou

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

Nesse caso, ambas as expressões são equivalentes.

Em resumo, esses formulários definem a fonte para os quadros atuais e futuros do Emacs. Como eles são salvos no seu arquivo de configuração, a instalação não é perdida na reinicialização.

undostres
fonte