Como definir o tamanho da fonte padrão?

12

Eu me vejo constantemente diminuindo (Cx C--) em todos os buffers que estou usando para ver mais linhas de código nas quais estou trabalhando.

Existe uma maneira de definir o nível de zoom no meu .emacs, não de maneira interativa? Ou devo olhar para definir o tamanho da fonte? Eu tenho usado o zoom, porque tem sido a solução mais fácil / rápida, mas prefiro encontrar uma solução mais permanente. Existem desvantagens ou vantagens em usar um contra o outro? Não estou claro sobre as diferenças.

aepound
fonte
1
Que tal ?: (face-remap-add-relative 'default '((:height 300)))explodir; e (face-remap-add-relative 'default '((:height 120)))encolhê-lo? Você pode alterar a altura ao seu gosto. Você pode transformá-las em funções interativas e mapeá-las para seus atalhos de teclado favoritos. Para experimentá-los, cole-os no seu *Scratch*buffer e coloque o cursor no final de um trecho de código e digiteC-x C-e
lawlist
3
Se você está diminuindo o zoom em praticamente todos os buffers que usa, por que não definir o tamanho da fonte como menor? Veja este tópico SO exatamente sobre esse problema .
Dan
@ Dan: Se a pergunta não é sobre zoom, mas é, na verdade, sobre como definir o tamanho da fonte padrão, talvez seja necessário fechar como uma duplicata da pergunta que você cita. Parece que o OP talvez não tenha certeza do que ele quer nesse sentido: defina o tamanho da fonte ou o zoom.
Desenhou
@ Drew: concordou. OP: você deseja definir o tamanho ou o zoom da fonte?
Dan
1
Minha resposta seria: Nesse caso, consulte a página Wiki do Emacs que citei na minha resposta. Ele cobre tudo sobre a configuração de fontes e tamanhos de fonte, tanto interativamente (por exemplo, zoom) e em arquivos init (configuração padrão). É o lugar para começar (e provavelmente o lugar para terminar).
Drew

Respostas:

8

Sim. O que você deseja é aplicar zoom (o tamanho da fonte) a um quadro , independentemente de quais buffers são exibidos lá.

Consulte a biblioteca zoom-frm.ele estas descrições de zoom em um quadro e zoom em um buffer .

Veja, em particular, comando zoom-in/out, que faz as duas coisas. Ele é obrigado por padrão para as teclas normalmente vinculados a apenas tampão zoom: C-x C-+, C-x C--, C-x C-0, e C-x C-=. Você também pode vincular comandos zoom-ine zoom-outrotações da roda do mouse. O uso de C-uqualquer um desses comandos alterna entre o zoom de quadros e o buffer.

Além do zoom interativo de quadros ou buffers, é possível definir o tamanho da fonte padrão desejado para todos os quadros.

A mesma página do Emacs-Wiki tem mais informações sobre como definir fontes e tamanhos de fonte.


Atualizar depois de decidir que você deseja definir o tamanho da fonte padrão

A resposta está na última linha que escrevi acima: Consulte a seção Alterar globalmente a fonte padrão na página Conjunto de fontes do Emacs Wiki . Ele mostra como definir a fonte padrão. (Ele também mostra como aumentar o tamanho da fonte de forma interativa.)

Aqui estão essas informações em poucas palavras - coloque isso no seu arquivo init:

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

Mas leia toda a seção dessa página, como mais informações, incluindo como definir a fonte padrão usando .Xresourcese o daemon Emacs. Um exemplo de linha adequada ~/.Xresourcespara definir o tamanho da fonte padrão é:

Emacs.default.attributeHeight: 94
Desenhou
fonte
Eu li na documentação que ele zoom-frm.eltinha a capacidade de salvar as personalizações, embora pareça um pouco confuso. (Não fiz muito com a interface de personalização, preferindo definir as coisas no arquivo init). Vou tentar.
aepound
Sim, o comentário do arquivo zoom-frm.elinforma como salvar personalizações de alteração de fonte, incluindo como fazer isso sem usar a interface do usuário Personalizar. FWIW, eu recomendo que as pessoas usem Customize, mas que usem uma separada custom-file(consulte essa variável) em vez de permitir que Customize escreva código em seu arquivo init.
Desenhou
10

Se você quiser usar um seletor de fontes da GUI com visualizações e tudo, poderá usarM-x menu-set-font

Emacs escolher uma fonte

xandfury
fonte
1
Obrigado, esta deve ser a única resposta recomendada, aqui, na página wiki, na página inicial do Aquamacs!
agam 28/02
Como você torna isso permanente?
smonff
3

Estou usando isso para aplicar zoom no Emacs (não apenas no buffer atual):

;; 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
fonte