Actualmente trabajo con ruby y rspec. Me gusta mucho la idea de tener un marco separado en otro monitor que me muestre el búfer de compilación. Mi configuración actual utiliza un marco de 'código' (en el que hago trabajo real) y un marco de 'resultado de prueba' (en el que veo resultados rspec)
El problema es que cuando intento abrir algún error de compilación o archivo en el marco 'resultado de prueba', la ventana se divide en ese marco. Lo que realmente me gustaría hacer es que se abra en el marco de mi 'código'.
Ya utilizo la opción display-buffer-reuse-frames
. También intenté configurar la ventana de resultados de la compilación dedicated
, pero cada vez que emacs intenta abrir una nueva ventana, se crea un nuevo marco (lo cual es particularmente horrible si usa Helm).
¿Hay alguna manera fácil de lograr esto?
popwin.el
MELPA para compilar ventanas emergentes y ayudar a los buffers que persisten hasta queC-g
se presiona. Si los necesito a tiempo completo, solo cambio a ellos en otra ventana. No he pensado en fijar ventanas porque emacs sísplit-windows-sensibly
.Respuestas:
Debe configurar el gorila de 600 libras que es el
display-buffer-alist
que determina cómodisplay-buffer
elige dónde mostrar un búfer. Hacedisplay-buffer-reuse-frames
obsoleto en los nuevos emacsen. Aquí hay una configuración que debería guiarlo (al menos en emacs 24.3).Como puede ver, uso una expresión regular para que coincida con el búfer de registro de compilación. La documentación de
display-buffer
debería darle una idea de lo que está sucediendo. Solo un aviso de que no es la documentación más agradable que jamás leerá. Los agregué secuencialmente para que la expresión regular de compilación-registro coincida antes que la expresión regular genérica. Adapte la expresión regular a sus necesidades.EDITAR Para que cualquier marco no se pueda dividir, puede evaluarlo
M-: (set-frame-parameter nil 'unsplittable t)
en ese marco en particular. Reemplace nil con requeridoFRAME
si lo hace desde elisp. Entre estas dos configuraciones, debe hacer que el marco de compilación sea exclusivo a menos que encuentre específicamente un archivo en ese marco.fuente