Gostaria de abrir o arquivo foo.bar
duas vezes (ou mais) no emacs, para que eu possa editar duas partes diferentes simultaneamente. É possível? Provavelmente, a melhor pergunta é: como fazê-lo? Existe uma maneira de abrir cada instância em seu próprio buffer / quadro?
28
Respostas:
Você pode abrir o mesmo buffer em mais de uma janela (que pode ser dividida em quadros diferentes), mas não é muito conveniente. Cada janela tem seu próprio ponto, mas todos compartilham a marca, o modo de arquivo, o estreitamento e outras características, porque, além do ponto, praticamente todas as características estão ligadas ao buffer. Além disso, se você visitar outro buffer em uma janela, perderá seu lugar no arquivo.
Você pode criar um buffer indireto com seu próprio ponto, marca, modos e assim por diante, mas com o mesmo conteúdo que o buffer original (e salvar as gravações no buffer para o mesmo arquivo). Para criar um segundo buffer que é um clone do buffer atual, execute
M-x clone-indirect-buffer RET
. Para abrir esse segundo buffer em uma janela diferente, você pode digitarC-x 4 c
.fonte
C-x 4 c
executaclone-indirect-buffer-other-window
, portanto, isso seria usado em vez declone-indirect-buffer
, não seguindo esse comando. No entanto, no meu sistema, esses dois comandos parecem fazer a mesma coisa.C-x 4
é o prefixo para windows,c
é para clone . Você pode definir outras ligações, se preferir.C-x c
não é usado na configuração padrão, você pode usá-lo se não tiver medo de bater acidentalmenteC-x C-c
. Eu definoC-x 5 c
clonar em um novo quadro no meu arquivo init.Modo de tela dividida: onde ctrl+ xsignifica pressionar e segurar a tecla ctrl e digite um x. Em seguida, digite o número a seguir.
ctrl+ x2 (divisão horizontal)
ou
ctrl+ x3 (divisão vertical)
Em seguida, você pode rolar eles de forma independente no mesmo arquivo ou abrir outro buffer, se desejar em um deles.
Para retornar a um único tipo de visualização
ctrl+ x1
Se desejar, você pode dividir cada tela (seção) quantas vezes for necessário. Selecione a tela que deseja dividir primeiro e depois faça uma divisão horizontal ou vertical nela.
fonte
C-x o
correother-window
e percorre as "janelas" visíveis em cada "quadro". (Usando a configuração emacs onde as janelas gerenciador de janelas são chamados quadros, e os painéis separados dentro deles são chamados de janelas (eu sei, eu sei, mas eu não sou responsável por isso).)O Emacs é tendencioso para painéis (janelas), não quadros. Muitas vezes, é desejável abrir o mesmo buffer em outro quadro, não apenas em outra janela no mesmo quadro. Mas
C-x 5 c
é ilimitado por padrão. Este código define aclone-indirect-buffer-other-frame
função ausente :fonte