¿Cómo configurar el tamaño de fuente en Emacs?


Respuestas:


402
(set-face-attribute 'default nil :height 100)

El valor está en 1 / 10pt, por lo que 100 le dará 10pt, etc.


2
Estoy tratando de hacer esto, pero en Emacs 23.1.1 el autocompletado solo mostrará las opciones set-face-background set-face-font set-face-inverse-video-p set-face-underline set-face-background-pixmap set-face-foreground set-face-stipple set-face-underline-p.
Tom Brito

8
@TomBrito ¿Qué autocompletar? En mi Emacs, de set-face-attributehecho falta en M-x( execute-extended-command), pero está presente en M-:( eval-expression) y C-h f( describe-function). M-:es probablemente lo que quieres, si no quieres poner esto en tu .emacsarchivo.
Rory O'Kane

1
@ RoryO'Kane ¿Por qué algunos comandos no están disponibles a través de M-x? Noob pregunta, estoy seguro, pero no estoy familiarizado con cómo emacs "funciona" en un nivel bajo
DavidS

66
@DavidS Buena pregunta. Escribí una respuesta en " ¿Por qué algunas funciones de Emacs no están disponibles a través de M-x? ". Investigar la respuesta resultó ser educativo.
Rory O'Kane

Sin embargo, esta solución no funciona cuando ha personalizado algunas caras, por ejemplo, para tener una fuente distinta, inclinación, etc. Se quedarían con el tamaño anterior, y debe configurarlas individualmente.
Hola Ángel,

371

Desde Emacswiki , GNU Emacs 23 tiene una combinación de teclas incorporada:

C-xC-+y C-xC--para aumentar o disminuir el tamaño del texto del búfer


29
o `Cx C- = 'y' Cx C-- '
HongboZhu

59
Esto es local para ese búfer particular. Entonces, cuando cambias a otros archivos que estás editando, no verán el efecto de este cambio. Además, cuando cierre y vuelva a abrir el búfer (o incluso reinicie Emacs), estarán en el tamaño predeterminado anterior. Esto puede ser lo que quieres; Solo digo esto para completar.
ShreevatsaR

99
El OP quiere guardar la configuración en .emacs, y esto no.
xwl

spacemacs trabaja en la interfaz de usuario (en MacOS), para poner en init.el - stackoverflow.com/a/296316/432903
prayagupd

80

Presione Mayús y el primer botón del mouse. Puede cambiar el tamaño de fuente de la siguiente manera: Este sitio web tiene más detalles.


1
@AndrewLarned Para que el cambio sea permanente, debe realizar el cambio en su archivo .emacs. (Ver la respuesta de Chris Conway para un ejemplo de lo que tiene en su archivo .emacs.)
Ram Narasimhan

¿Hay alguna forma de controlar cuánto aumenta o disminuye la fuente al hacer esto?
Mauricio A. Cinelli

42

M-x customize-face RET defaultle permitirá establecer la cara de la defaultcara, en la que se basan todas las demás caras. Allí puede establecer el tamaño de fuente.

Esto es lo que hay en mis .emacs. en realidad, el tema de color establecerá lo básico, luego mi configuración de cara personalizada anulará algunas cosas. el conjunto de caras personalizadas está escrito por el mecanismo de cara personalizada de emacs:

;; my colour theme is whateveryouwant :)
(require 'color-theme)
(color-theme-initialize)
(color-theme-whateveryouwant)

(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 98 :width normal :foundry "unknown" :family "DejaVu Sans Mono"))))
 '(font-lock-comment-face ((t (:foreground "darkorange4"))))
 '(font-lock-function-name-face ((t (:foreground "navy"))))
 '(font-lock-keyword-face ((t (:foreground "red4"))))
 '(font-lock-type-face ((t (:foreground "black"))))
 '(linum ((t (:inherit shadow :background "gray95"))))
 '(mode-line ((t (nil nil nil nil :background "grey90" (:line-width -1 :color nil :style released-button) "black" :box nil :width condensed :foundry "unknown" :family "DejaVu Sans Mono")))))

2
Muchos usuarios avanzados de emacs prefieren no usar el sistema de personalización, ya que es propenso a errores y entremezcla todas las personalizaciones. Es mejor dividir su personalización en archivos .el individuales y cargarlos desde init.el, y agregar sus personalizaciones de modo como código elisp dentro de cada uno. Vea la respuesta de huaiyuan arriba para ver cómo configurar la fuente a través de elisp.
EdwardGarson

3
FWIW, el mantenedor de emacs (presumiblemente un usuario "avanzado" de emacs) utiliza el sistema de personalización: github.com/jwiegley/dot-emacs/blob/…
Ben

38

Esta es otra solución simple. Funciona en 24 también

(set-default-font "Monaco 14")

Atajos:

`C-+` increases font size
`C--` Decreases font size

15

Tengo lo siguiente en mi .emacs:

(defun fontify-frame (frame)
  (set-frame-parameter frame 'font "Monospace-11"))

;; Fontify current frame
(fontify-frame nil)
;; Fontify any future frames
(push 'fontify-frame after-make-frame-functions) 

Puede sustituir cualquier fuente de su elección "Monospace-11". El conjunto de opciones disponibles depende en gran medida del sistema. Usar M-x set-default-fonty mirar las pestañas completas le dará algunas ideas. En mi sistema, con Emacs 23 y anti-aliasing activado, puede elegir las fuentes del sistema por nombre, por ejemplo, Monospace, Sans Serif, etc.


10

Abra emacs en X11, vaya a Opciones de menú, seleccione "establecer fuente predeterminada ...", cambie el tamaño de fuente. Seleccione "guardar opciones" en el mismo menú. Hecho.


Los cambios no persisten si reinicio emacs.
cae

9

zoom.cfg y global-zoom.cfg proporcionan enlaces de cambio de tamaño de fuente (de EmacsWiki)

  • C- o C-mousewheel-up: aumenta el tamaño de la fuente.
  • C- + o C-mousewheel-down: disminuye el tamaño de la fuente.
  • C-0 revierte el tamaño de fuente al predeterminado.

8

Aquí hay una opción para cambiar el tamaño de las alturas de fuente de forma interactiva, un punto a la vez:

;; font sizes
(global-set-key (kbd "s-=")
                (lambda ()
                  (interactive)
                  (let ((old-face-attribute (face-attribute 'default :height)))
                    (set-face-attribute 'default nil :height (+ old-face-attribute 10)))))

(global-set-key (kbd "s--")
                (lambda ()
                  (interactive)
                  (let ((old-face-attribute (face-attribute 'default :height)))
                    (set-face-attribute 'default nil :height (- old-face-attribute 10)))))

Esto es preferible cuando desea cambiar el tamaño del texto en todos los buffers. No me gustan las soluciones text-scale-increasey text-scale-decreaseya que los números de línea en la canaleta pueden cortarse después.


¡Esto es perfecto! Muchas gracias.
Fomentia

7

Firefox y otros programas le permiten aumentar y disminuir el tamaño de fuente con C- + y C--. Configuré mis .emacs para que tenga esa misma capacidad agregando estas líneas de código:

(global-set-key [C-kp-add] 'text-scale-increase)

(global-set-key [C-kp-subtract] 'text-scale-decrease)

5

Aquamacs :

(set-face-attribute 'default nil :font "Monaco-16" )

Desde Emacs Wiki Globally Change the Default Font , dice que puede usar cualquiera de estos:

(set-face-attribute 'default nil :font FONT )

(set-frame-font FONT nil t)

¿Dónde FONTes algo como "Monaco-16", por ejemplo:

(set-face-attribute 'default nil :font "Monaco-16" )

Hubo un paréntesis de cierre adicional en la primera sugerencia en la wiki, lo que causó un error en el inicio. Finalmente noté el paréntesis de cierre adicional, y posteriormente corregí la sugerencia en la wiki. Entonces las dos sugerencias funcionaron para mí.


3

Todo depende de lo que quieras decir con cambiar el tamaño de fuente. Esta sección de EmacsWiki proporciona la mejor y más completa información. Distingue los diversos casos (escala de texto, fuente del marco, búfer / marco, etc.): Cambio del tamaño de la fuente .


1

En NTEmacs 23.1, el menú Opciones tiene la opción "Establecer fuente predeterminada ...".


1

Si está contento con la consola emacs (emacs -nw), las implementaciones modernas de vterm (como gnome-terminal) tienden a tener un mejor soporte de fuentes. Además, si se acostumbra a eso, puede usar tmux, por lo que es posible trabajar con su entorno completo en servidores remotos, incluso sin X.


1

En AquaMacs CMD +y CMD -ajuste el tamaño de fuente para el búfer actual.


1

Utilizo el paquete hydra para controlar el aumento / disminución de la fuente contiguamente presionando f2 + + + +/ f2 - - - -, lo que significa que presiono f2una vez, y luego uso +/ -para controlar solamente, y restablezco el tamaño de fuente predeterminado f2 0. Debido a que tengo un teclado, también ato el teclado a la configuración de fuente.

(defhydra hydra-zoom (global-map "<f2>")
  "zoom"
  ("<kp-add>" text-scale-increase "in")
  ("+" text-scale-increase "in")
  ("-" text-scale-decrease "out")
  ("<kp-subtract>" text-scale-decrease "out")
  ("0" (text-scale-set 0) "reset")
  ("<kp-0>" (text-scale-set 0) "reset"))

Y la funcionalidad moderna de control del mouse del editor compatible con las combinaciones de teclas a continuación, presione control + rueda del mouse para aumentar / disminuir la fuente.

(global-set-key (kbd "<C-wheel-up>") 'text-scale-increase)
(global-set-key (kbd "<C-wheel-down>") 'text-scale-decrease)

Las combinaciones de teclas para la rueda del mouse no funcionan, tengo versiónGNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7)
Zelphir Kaltstahl

1
Esos estarían (global-set-key (kbd "<C-mouse-4>") 'text-scale-increase) (global-set-key (kbd "<C-mouse-5>") 'text-scale-decrease) en mi versión de emacs (25)
stefano

1

Aquí hay un fragmento que le permite especificar directamente el tamaño de fuente global mediante una función interactiva:

(defun set-font-size ()
    "Set the font size."
  (interactive)
  (set-face-attribute
   'default nil :height
   (string-to-number
    (read-string "Font size: " (number-to-string (face-attribute 'default :height nil))))))
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.