
Tengo este código en mi archivo .emacs (set-default-font "Monaco 16")
. Cuando inicio emacs cuando no está abierto (al hacer clic en el acceso directo, por ejemplo), comienza con Monaco 16, pero cuando creo un nuevo marco, C-x 5 2
comienza con la antigua fuente predeterminada, que es demasiado pequeña para leerla. ¿Hay alguna forma de evitar esto?
EDITAR
Cuando se carga emacs, aparece un error y el problema parece estar en (set-default-font "Monaco 16" nil t) en mi archivo .emacs
. ¿Lo que está mal? Copio la copia de depuración de emacs:
Debugger entered--Lisp error: (wrong-number-of-arguments #[(font-name &optional$
\203^X^@\305\304\306\"\307 _^Q\305\304\310\"\311 _^P\312\313 \314^KBC\"\210
\2039^@\312\313 \306\315 \307 \"B\310\315^H\311 \"BD\"\210*\316\317\320\$
set-default-font("Monaco 16" nil t)
eval-buffer(#<buffer *load*> nil "/Users/a/.emacs" nil t) ; Reading at buff$
load-with-code-conversion("/Users/a/.emacs" "/Users/a/.emacs" t t)
load("~/.emacs" t t)
#[nil "^H\205\276^@ \306=\203^Q^@\307^H\310Q\202A^@ \311=\2033^@\312\307\31$
command-line()
normal-top-level()
Respuesta1
set-default-font
es obsoleto. Pero de todos modos, parece que está haciendo por usted lo que dice la cadena de documentación. La forma en que lo llamasdebería cambiar la fuentesólo para el cuadro actual.
Si desea que cambie la fuente predeterminada para todos los marcos, páselo t
como tercer argumento. Por ejemplo: (set-default-font "Monaco 16" nil t)
.
Hazlo C-h f set-default-font
y verás algo como esto:
,----
| set-default-font is an alias for `set-frame-font' in `frame.el'.
|
| (set-default-font FONT &optional KEEP-SIZE FRAMES)
|
| This function is obsolete since 23.1;
| use `set-frame-font' instead.
|
| Set the default font to FONT.
| When called interactively, prompt for the name of a font, and use
| that font on the selected frame. When called from Lisp, FONT
| should be a font name (a string), a font object, font entity, or
| font spec.
|
| If KEEP-SIZE is nil, keep the number of frame lines and columns
| fixed. If KEEP-SIZE is non-nil (or with a prefix argument), try
| to keep the current frame size fixed (in pixels) by adjusting the
| number of lines and columns.
|
| If FRAMES is nil, apply the font to the selected frame only.
| If FRAMES is non-nil, it should be a list of frames to act upon,
| or t meaning all graphical frames. Also, if FRAME is non-nil,
| alter the user's Customization settings as though the
| font-related attributes of the `default' face had been "set in
| this session", so that the font is applied to future frames.
`----
Respuesta2
Si esto no funciona para una versión GUI de Emacs, entonces es probable que otra configuración esté en conflicto:
(set-face-attribute 'default nil :background "black" :foreground "white"
:font "Courier" :height 180)
Respuesta3
En Emacs 24.3 en Mac OS X 10.9, (set-frame-font "Monaco 10" nil t)
falla con un error de "número incorrecto de argumentos", pero (set-frame-font "Monaco 10") tiene éxito. Sin embargo, sólo es efectivo en el fotograma seleccionado/inicial.
Afortunadamente, (set-face-attribute 'default nil :font "Monaco 10")
funciona para mí y es efectivo en todos los cuadros.
Respuesta4
Una solución es personalizar default-frame-alist
.
C-h v default-frame-alist click 'customize' If there is no 'font' paramater, click 'INS' and add `font` as the Parameter. As the value, add "Monaco 16" (the double quotes are essential)
Luego 'Aplíquelo' para esta sesión (y pruébelo abriendo un nuevo marco C-x 5 2
) y 'Aplíquelo y guárdelo' en su archivo de inicialización.