Emacs stale tworzy nowe okna i ostatnio rujnuje mi dzień. Jak mogę powiedzieć emacsowi, aby podczas tworzenia systemu Windows używał następujących zasad?
- Wolę podziały pionowe
- Przestań robić podziały pionowe, gdy okna będą miały mniej niż 80 kolumn.
- Przestań robić podziały w poziomie, gdy okno będzie mniejsze niż 60 wierszy.
- Kiedy dotrę do tej siatki 6x6, na moim 27-calowym monitorze zacznij ponownie używać okien!
Wolałbym też, aby moje okna były zawsze wyważone, ale każdy podział pozostawia nierówne rozmiary wdów. Wolę mieć 3 równe okna niż 1 duże i dwa, które są zbyt małe! Czy jest na to odpowiednie miejsce lub rozsądne miejsce na udzielenie porady na temat bilansu?
window-splitting
expez
źródło
źródło
display-buffer-alist
. Inni po prostu programowo naprawiają to po fakcie - np.delete-window
Iswitch-to-buffer
dzielą pionowo / poziomo i tak dalej. Istnieją również dodatkowe biblioteki, które pomagają zarządzać oknami i / lub przywracać poprzedni układ. Wolę pierwszą opcję - tj. Zmodyfikować źródło i uczynić go absolutnie idealnym, ale jestem w rzadkiej mniejszości ludzi.split-height-threshold
isplit-width-threshold
- gnu.org/software/emacs/manual/html_node/emacs/…display-buffer-alist
. Sprawdźdisplay-buffer
wymagania dla takiej funkcji AKCJI (i listę standardowych funkcji, kod, który możesz sprawdzić), ale będzie ona odpowiedzialna za wyświetlanie bufora w dowolny sposób (z pewnością może później zrównoważyć okna) .Odpowiedzi:
Trochę późno, ale ponieważ szukałem tego i nie mogłem znaleźć gotowego rozwiązania:
Możesz zdefiniować własną
split-window-sensibly
funkcję.Aby to zrobić, umieść w swoim
init.el
:Uwaga: progi muszą być dwa razy większe niż najmniejsze dozwolone okno, ponieważ każde nowe okno wykorzystuje połowę poprzedniego rozmiaru okna.
Ostatni wiersz mówi emacsowi, aby używał zdefiniowanej funkcji podziału.
źródło
Używam następujących od dłuższego czasu. Być może trzeba będzie go edytować, aby dostosować go do własnego preferowanego stylu.
źródło
To sprawi, że wolisz pionowe podziały
źródło
(setq split-height-threshold nil) (setq split-width-threshold 200)
split-height-threshold
zasadniczo nigdy nie chce dzielić się w poziomie200
wydaje się wystarczająco dużą liczbą, która nawet na dużym wyświetlaczu zewnętrznym Emacs dzieli się tylko raz.źródło