En emacs, más a menudo de lo que me gusta, termino con 4 ventanas o más.
Usaré ese ejemplo:
+--------|-----------+
| | |
| 1 | 2 |
| | |
+--------+-----------+
| 3 | 4 |
| +-----------+
| | 5 |
+--------+-----------+
Muchas funciones pueden actuar other-window(generalmente la misma ventana señalada por C-x o). Especialmente útiles son scroll-other-window. Sin embargo, cuando se abren 4 o más ventanas, other windowes poco probable que sea la que quiero.
¿Hay una manera fácil de administrar la configuración other-windowsin cambiar el diseño de la ventana / búfer? Por supuesto, es factible usando un montón de C-x 4 by, C-bpero no quiero cambiar el diseño. Por ejemplo:
- si edita en la ventana 4 en la imagen de arriba, ¿hay una manera fácil de configurar
C-M-vpara desplazar la ventana 1 ? - O simplemente, suponga que el foco en la ventana 3 , ¿cómo establecer
other-windowque apunte a la ventana 2 ?


M-1 M-2 ..a seleccionar la ventana número 1, 2 usando elwindow-numberpaqueteSegún una revisión rápida de la fuente
other-window, parece que en realidad depende de la ventana devuelta pornext-window, que se define en c. Lamentablementescroll-other-windowtambién se define en c, y presumiblemente llama a la siguiente ventana desde allí. No creo que sea fácil anular eso.Sin embargo,
switch-to-buffer-other-windowparece usarpop-to-buffer, por lo que puede tener algo de suerte allí.fuente
No hay una manera fácil de manipular la lista de ventanas, por lo que el resultado devuelto
other-windowes más o menos fijo. Esto no es algo malo en sí mismo, ya que permite la coherencia al navegar por Windows. Con respecto a los dos escenarios que describió, con algunos elisp o macros puede adaptarse a su flujo de trabajo.Puede usar un fragmento simple como el siguiente para usar
other-windowla cantidad adecuada de veces, desplazarse hacia abajo y volver a la ventana original.Puede pasar un argumento de prefijo para especificar qué ventana desplazarse. Como puede deducir, utiliza el mecanismo incorporado
other-windowpara omitir laargcantidad de ventanas antes de desplazarse. Elsave-selected-windowenfoque asegura que volverá a la ventana original. La documentación deother-windowpuede proporcionar más información sobre cómo modificar este fragmento para adaptarlo a su comportamiento.Nuevamente use un
prefix-argcomo enC-3 C-x ocuando llameother-window. El número real que se proporcionará variará según el orden en que los divida y no cambiará mientras no cree nuevas ventanas. Alternativamente, puede usar paquetes convenientes comowindow-numberoace-windowdesde MELPA para cambiar rápidamente las ventanas seleccionadas.fuente
<f7> npara desplazarse por la enésima ventana. Cree enlaces de teclas temporales con macros de teclado.