Estou usando o emacs e acho que às vezes tenho 2 arquivos separados em 2 janelas.
Por exemplo: abro 1 arquivo usando C-x C-f file1.c RET
e eu divido a moldura em duas janelas: C-x 3
Eu então abro outro arquivo C-x C-f file2.c RET
Portanto, tenho 2 arquivos:
janela 1 (esquerda) file1.c
janela 2 (direita) file2.c
Eu estou me perguntando se existe alguma combinação de teclas para trocar os arquivos? Normalmente gosto de trabalhar na janela esquerda quando tenho 2 janelas. Eu sei que posso fazer facilmente C-x omover o cursor para a janela certa.
No entanto, só estou me perguntando se posso trocar os arquivos para que file2.c
fiquem na janela da esquerda e file1.c
na janela da direita?
Respostas:
Eu uso buffer-move para isso. Agora, se você estiver trabalhando no buffer do lado esquerdo, chamar 'buf-move-right' irá trocá-lo com o da direita. Eu acho que é isso que você quer.
fonte
(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
ele funcionou muito bem, obrigado!C-S-up
abuf-move-up
etcA biblioteca transpose-frame fornece um conjunto bastante abrangente de funções para inverter ou girar os arranjos de janela em frames.
M-x
flop-frame
RET faz o que esta questão em particular precisa.Os seguintes diagramas são do comentário na biblioteca (e sua página EmacsWiki):
fonte
flop-frame
funciona apenas quando a divisão entre as janelas é vertical, para divisão horizontal que você precisaflip-frame
. No entanto,rotate-frame
funciona de forma independente; um comando para trocar os buffers entre duas janelas, não importa qual seja a orientação da divisão :)No arquivo Emacs 26.1 NEWS, há a seguinte entrada:
Que parece oferecer funcionalidade semelhante,
crux-transpose-windows
mas também pode fazer algumas transposições de altura / largura?fonte
M-x window-swap-states
trocou os buffers entre as duas janelas.Se você estiver usando o Prelude, pode apenas usar
C-c s
(prelude-swap-windows
). Da documentação do Prelúdio:fonte
curl | sh
= wtf?), mas crux com certeza parece bom e faz um monte de coisas que fiz sozinho em primeiro lugar.curl | sh
é, o que estou dizendo é: é mal.Não estou ciente de nenhuma função interna fazendo isso.
No entanto, não parece muito difícil conseguir algumas elisp para fazer isso. Mas o diabo está nos detalhes.
Notavelmente, isso pode não estar fazendo o que você deseja em relação a onde o cursor termina. No entanto, você primeiro tem que dizer o que deseja: p
fonte
Se você tiver o prelúdio, poderá usar o ace-window com
S-w
. A partir daí, você pode fazer muitas coisas listadas em seus documentos .Então seria
S-w m
fonte
ace-swap-window
está vinculado aSPC w M
. Esta funcionalidade está disponível por padrão.O seguinte trecho de código pode fazer a troca de buffer.
fonte
Eu daria um jeito de abrir o arquivo # 2 no local desejado, ou seja, depois de pressionar cx 3, mova o cursor com cx o antes de navegar para o segundo arquivo.
fonte