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.c
estén en la ventana izquierda y file1.c
en 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-swap
funcionó bien, ¡gracias!C-S-up
quebuf-move-up
etcLa 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-frame
RET hace lo que necesita esta pregunta en particular.Los siguientes diagramas son del comentario en la biblioteca (y su página EmacsWiki):
fuente
flop-frame
funciona solo cuando la división entre las ventanas es vertical, para la división horizontal que necesitaflip-frame
. Sin embargo,rotate-frame
funciona 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-windows
pero también puede hacer algunas transposiciones de altura / ancho?fuente
M-x window-swap-states
intercambió 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 | sh
es, 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 m
fuente
ace-swap-window
está 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