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 occur
usw. Emacs ändert Fenster korrekt. *compilation*
Wenn ich jedoch im Puffer RET
auf 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?
window.el
, einschließlich, aber nicht beschränkt aufdisplay-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).Antworten:
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.el
kö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.
quelle