Emacs está constantemente haciendo nuevas ventanas y últimamente ha estado arruinando mi día. ¿Cómo puedo decirle a emacs que use la siguiente política al crear ventanas?
- Prefiere divisiones verticales
- Deje de hacer divisiones verticales cuando las ventanas tengan menos de 80 columnas.
- Deje de hacer divisiones horizontales cuando la ventana tenga menos de 60 filas.
- Cuando llegue a esta cuadrícula de 6x6, en mi monitor de 27 ", ¡empiece a reutilizar Windows!
Además, preferiría que mis ventanas siempre estén equilibradas, pero cada división deja el tamaño de la viuda desequilibrado. ¡Prefiero tener 3 ventanas de igual tamaño que 1 grande y dos que son demasiado pequeñas! ¿Hay una configuración para esto, o un lugar sensato para poner un consejo de ventanas de equilibrio?
window-splitting
expez
fuente
fuente
display-buffer-alist
. Otros simplemente lo arreglan programáticamente después del hecho, por ejemplo,delete-window
yswitch-to-buffer
, dividido verticalmente / horizontalmente, y así sucesivamente. Y, hay algunas bibliotecas adicionales para ayudar a administrar las ventanas y / o volver al diseño anterior. Prefiero la primera opción, es decir, modificar la fuente y hacerla absolutamente perfecta, pero pertenezco a una minoría rara de personas.split-height-threshold
ysplit-width-threshold
- gnu.org/software/emacs/manual/html_node/emacs/…display-buffer-alist
. Consultedisplay-buffer
los requisitos de dicha función ACTION (y la lista de funciones estándar, el código que puede examinar), pero será responsable de mostrar el búfer de la forma que desee (y ciertamente puede equilibrar las ventanas después) .Respuestas:
He estado usando lo siguiente durante mucho tiempo. Es posible que deba editarlo para adaptarlo a su propio estilo preferido.
fuente
Un poco tarde, pero porque también busqué esto y no pude encontrar una solución lista:
Podrías definir tu propia
split-window-sensibly
función.Para hacerlo, ponga lo siguiente en su
init.el
:Nota: los umbrales deben ser dos veces más grandes que la ventana más pequeña permitida, porque cada una de las nuevas ventanas usa la mitad del tamaño de la ventana anterior.
La última línea le dice a emacs que use la función de división definida.
fuente
Esto te hará preferir divisiones verticales
fuente
(setq split-height-threshold nil) (setq split-width-threshold 200)
split-height-threshold
a básicamente sin querer dividir horizontalmente200
parece un número suficientemente alto que incluso en una pantalla externa grande, Emacs solo se dividirá como máximo una vez.fuente