Wie richte ich Emacs so ein, dass Fenster niemals geteilt werden?

7

Ich möchte einen neuen Workflow ausprobieren, bei dem geteilte Fenster nur dann auftreten, wenn ich sie anfordere. Andernfalls ändert Emacs einfach die Fenster. Ich habe versucht, diesen Befehl in mein init.el:

(setq pop-up-windows nil)

Und es scheint meistens zu funktionieren: Wenn ich einen Hilfebefehl verwende, eine Kompilierung starte, verwende M-x occurusw. Emacs ändert Fenster korrekt. *compilation*Wenn ich jedoch im Puffer RETauf eine Zeile drücke , teilt Emacs den Rahmen in zwei Fenster auf. Weiß jemand, welche andere Konfiguration ich brauche, um sicherzustellen, dass Emacs richtig wechselt?

Gnuvince
quelle
Sie müssten einige der darin enthaltenen Funktionen neu definieren window.el, einschließlich, aber nicht beschränkt auf display-buffer. Wenn Sie dies tun, werden Sie jedoch in eine Welt zukünftiger Probleme geraten, da die meisten Bibliotheksautoren viel planen, welche Fenster angezeigt und welche gewidmet werden sollen, und frühere Fensterkonfigurationen wiederherstellen. Meiner Meinung nach ist es besser, wenn Sie nur das berühren, was speziell aufgrund Ihrer persönlichen Vorlieben geändert werden muss. Mit anderen Worten, verwenden Sie ein Skalpell oder ein Lasermesser anstelle einer Machete (oder Thors Kriegshammer).
Lawlist
Dies könnte eher ein Rat als eine direkte Antwort sein. Das Teilen des Fensters zu verbieten ist vielleicht keine gute Idee - manchmal ist es sehr nützlich. Durch schnelles Wechseln und Schließen des Fensters kann Ihr Workflow flüssig werden: Probieren Sie [Ass-Fenster] [1] und [Ass-Sprung-Modus] [2] aus und gewöhnen Sie sich an Cx 0, schließen Sie das aktuelle Fenster Cx 1 und schließen Sie andere Fenster [1 ]: github.com/abo-abo/ace-window [2]: github.com/winterTTr/ace-jump-mode Diese werden Sie nicht enttäuschen.
Nick

Antworten:

3

Es ist nicht ganz klar, nach welchem ​​Verhalten Sie suchen.

Wenn Sie möchten, dass Emacs entweder (1) den aktuellen Puffer im ausgewählten Fenster ersetzt oder (2) den neuen Puffer in einem neuen Frame anstelle eines neuen Fensters im selben Frame anzeigt, sollten Sie die Verwendung von non- in Betracht ziehen nil pop-up-frames.

In diesem Fall möchten Sie wahrscheinlich einige zusätzliche Änderungen vornehmen, da die Emacs-Entwicklung stark auf Fenster anstelle von Frames ausgerichtet ist (z. B. bieten einige Entwicklungen keine gute Unterstützung für die Verwendung von Frames; einige Entwicklungen sind mit der Verwendung von Frames anstelle von Windows nicht gut getestet ).

Die Emacs-Wiki-Seiten zu One-On-One-Emacs enthalten Informationen und Code für diesen Ansatz, die Verwendung von Frames gegenüber Emacs-Fenstern zu bevorzugen. Bevorzugung bedeutet, dass Sie einen Frame immer explizit teilen können, wenn Sie möchten, Emacs tut dies jedoch standardmäßig nicht.

Und die Bibliothek oneonone.elkönnte sich für diesen Ansatz als nützlich erweisen.

Wissen Sie auch, dass Sie jedes Fenster dedizieren können , was bedeutet, dass Emacs niemals einen anderen Puffer darin anzeigen wird.

Drew
quelle