Quiero probar un nuevo flujo de trabajo donde las ventanas divididas solo suceden si las solicito; de lo contrario, Emacs simplemente cambia las ventanas. Intenté poner este comando en mi init.el
:
(setq pop-up-windows nil)
Y parece funcionar principalmente: si uso un comando de ayuda, inicio una compilación, uso M-x occur
, etc. Emacs cambia correctamente las ventanas. Sin embargo, en el *compilation*
búfer, si presiono RET
una línea, Emacs divide el marco en dos ventanas. ¿Alguien sabe qué otra configuración necesito para asegurarme de que Emacs cambie correctamente?
window.el
, incluidas, entre otrasdisplay-buffer
. Hacer eso, sin embargo, lo colocará en un mundo de problemas futuros porque la mayoría de los autores de bibliotecas planifican mucho en términos de qué ventanas mostrar y cuáles dedicar, y restaurar configuraciones de ventanas anteriores. En mi opinión, es mejor que solo toque lo que específicamente necesita cambiar según sus preferencias personales. En otras palabras, use un bisturí o un cuchillo láser en lugar de un machete (o el martillo de guerra de Thor).Respuestas:
No está muy claro qué comportamiento estás buscando.
Si desea que Emacs ya sea (1) reemplace el búfer actual en la ventana seleccionada o (2) muestre el nuevo búfer en un nuevo marco en lugar de una nueva ventana en el mismo marco, entonces considere usar non-
nil
pop-up-frames
.En ese caso, es probable que desee realizar algunos cambios adicionales, ya que el desarrollo de Emacs está bastante sesgado hacia Windows en lugar de marcos (por ejemplo, algunos desarrollos no brindan un buen soporte para usar marcos; algunos desarrollos no se prueban bien con el uso de marcos en lugar de ventanas )
Las páginas Wiki de Emacs sobre One-On-One Emacs proporcionan información y código para este enfoque de favorecer el uso de marcos sobre las ventanas de Emacs. Favorecer significa que siempre puede dividir explícitamente un marco cuando lo desee, pero Emacs no lo hace de manera predeterminada.
Y la biblioteca
oneonone.el
podría resultar útil para este enfoque.Sepa también que puede hacer que cualquier ventana sea dedicada , lo que significa que Emacs nunca mostrará un búfer diferente en ella.
fuente