Estoy usando emacs y encuentro que a veces tengo 2 archivos separados en 2 ventanas.
Por ejemplo: abro 1 archivo usando C-x C-f file1.c RET
y dividí el marco en dos ventanas: C-x 3
Luego abro otro archivo C-x C-f file2.c RET
Entonces tengo 2 archivos:
ventana 1 (izquierda) file1.c
ventana 2 (derecha) file2.c
Me pregunto si hay alguna combinación de teclas para intercambiar los archivos. Normalmente me gusta trabajar en la ventana izquierda cuando tengo 2 ventanas. Sé que puedo hacer fácilmente C-x opara mover el cursor a la ventana derecha.
Sin embargo, me pregunto si puedo intercambiar los archivos para que file2.cestén en la ventana izquierda y file1.cen la ventana derecha.

Respuestas:
Yo uso buffer-move para esto. Ahora, si está trabajando en el búfer del lado izquierdo, llamar a 'buf-move-right' lo intercambiará con el de la derecha. Supongo que esto es lo que quieres.
fuente
(defun win-swap () "Swap windows using buffer-move.el" (interactive) (if (null (windmove-find-other-window 'right)) (buf-move-left) (buf-move-right)))win-swapfuncionó bien, ¡gracias!C-S-upquebuf-move-upetcLa biblioteca de transposición de marcos proporciona un conjunto bastante completo de funciones para voltear o rotar las disposiciones de las ventanas en marcos.
M-x
flop-frameRET hace lo que necesita esta pregunta en particular.Los siguientes diagramas son del comentario en la biblioteca (y su página EmacsWiki):
fuente
flop-framefunciona solo cuando la división entre las ventanas es vertical, para la división horizontal que necesitaflip-frame. Sin embargo,rotate-framefunciona de forma independiente; un comando para intercambiar los búferes entre dos ventanas, sin importar la orientación dividida :)En el archivo de NOTICIAS de Emacs 26.1 hay la siguiente entrada:
¿Cuál parece ofrecer una funcionalidad similar
crux-transpose-windowspero también puede hacer algunas transposiciones de altura / ancho?fuente
M-x window-swap-statesintercambió los búferes entre las dos ventanas.Si está usando Prelude , puede usar
C-c s(prelude-swap-windows). De la documentación de Prelude:fuente
curl | sh= ¿wtf?), pero Crux seguro que se ve bien y hace un montón de cosas que hice por mi cuenta en primer lugar.curl | shes, lo que estoy diciendo es: es malvado.No tengo conocimiento de ninguna función incorporada que haga esto.
Sin embargo, no parece demasiado difícil conseguir algo de elisp para hacerlo. Sin embargo, el diablo está en los detalles.
En particular, es posible que esto no esté haciendo lo que desea con respecto a dónde termina el símbolo de intercalación. Sin embargo, primero tendrías que decir lo que quieras: p
fuente
Si tiene preludio, puede usar ace-window con
S-w. Desde allí, puede hacer muchas cosas enumeradas en sus documentos. .Entonces seria
S-w mfuente
ace-swap-windowestá destinado aSPC w M. Esta funcionalidad está disponible de forma predeterminada.El siguiente fragmento de código puede cambiar de búfer.
fuente
Me las ingeniaría para abrir el archivo # 2 en la ubicación deseada, es decir, después de presionar cx 3, mueva el cursor con cx o antes de navegar al segundo archivo.
fuente