Emacs fait constamment de nouvelles fenêtres et ça a gâché ma journée ces derniers temps. Comment puis-je dire à emacs d'utiliser la stratégie suivante lors de la création de fenêtres?
- Préférez les divisions verticales
- Arrêtez de faire des divisions verticales lorsque les fenêtres comptent moins de 80 colonnes.
- Arrêtez de faire des fractionnements horizontaux lorsque la fenêtre est inférieure à 60 lignes.
- Lorsque j'atteins cette grille 6x6, sur mon moniteur 27 ", commencez à réutiliser Windows!
De plus, je préférerais que mes fenêtres soient toujours équilibrées, mais chaque division laisse les tailles de veuve déséquilibrées. Je préfère avoir 3 fenêtres de même taille que 1 grande et deux trop petites! Y a-t-il un cadre pour cela, ou un endroit sensé pour mettre un conseil d'équilibrage?
window-splitting
expez
la source
la source
display-buffer-alist
. D'autres le corrigent par programmation après coup - par exemple,delete-window
etswitch-to-buffer
, divisé verticalement / horizontalement, etc. Et, il existe des bibliothèques supplémentaires pour aider à gérer les fenêtres et / ou revenir à la disposition précédente. Je préfère la première option - c'est-à-dire modifier la source et la rendre absolument parfaite, mais je suis dans la rare minorité des gens.split-height-threshold
etsplit-width-threshold
- gnu.org/software/emacs/manual/html_node/emacs/…display-buffer-alist
. Voirdisplay-buffer
pour les exigences d'une telle fonction ACTION (et la liste des fonctions standard, le code que vous pouvez examiner), mais il sera responsable d'afficher le tampon de la manière que vous souhaitez (et peut certainement équilibrer les fenêtres par la suite) .Réponses:
J'utilise les éléments suivants depuis longtemps. Vous devrez peut-être le modifier pour s'adapter à votre propre style préféré.
la source
Un peu tard, mais parce que j'ai également cherché cela et que je n'ai pas trouvé de solution prête:
Vous pouvez définir votre propre
split-window-sensibly
fonction.Pour ce faire, mettez ce qui suit dans votre
init.el
:Remarque: les seuils doivent être deux fois plus grands que la plus petite fenêtre autorisée, car les nouvelles fenêtres utilisent chacune la moitié de l'ancienne taille de fenêtre.
La dernière ligne indique à emacs d'utiliser la fonction de division définie.
la source
Cela vous fera préférer les divisions verticales
la source
(setq split-height-threshold nil) (setq split-width-threshold 200)
split-height-threshold
pour ne jamais vouloir diviser horizontalement200
semble être un nombre suffisamment élevé pour que même sur un grand écran externe, Emacs ne se divise qu’au plus une fois.la source