Abra o texto clicável no emacs na janela nova / vizinha

3

Atualmente, tenho um modo (magit to be precise) quando tenho clicável texto troca o buffer para o arquivo. No entanto, prefiro, por vezes, abrir em janela nova ou vizinha. É possível fazer isso?

PS. Por janela quero dizer que a janela do Emacs não é o Emacs.

    
por Maciej Piechotka 24.09.2013 / 11:14

2 respostas

2

Em um buffer de magit-status , você pode geralmente alcançar isso com C-u RET .
O mesmo geralmente funciona para links ativos em info-mode e help-mode .

Mas não há uma maneira genérica de fazer isso no Emacs. Como o documento vinculado a explica, ele é deixado para os principais modos 'discrição como eles respondem a ações em texto clicável.
A receita é:

Implementing a link involves three separate steps: (1) indicating clickability when the mouse moves over the link; (2) making or Mouse-2 on that link do something; and (3) setting up a follow-link condition so that the link obeys mouse-1-click-follows-link.

No entanto, este não é um protocolo obrigatório:

  • Nada diz que precisa ser implementado na íntegra,
  • também não é obrigatório responder sempre visitando um buffer após a ativação,
  • também não é obrigatório tratar todos os links em um determinado buffer da mesma maneira;
  • daí o "normalmente" acima.

Alguns exemplos em que você pode observar facilmente as diferenças de comportamento:

  • Os buffers magit-status não respondem aos cliques do mouse, apenas "cliques do teclado" ( RET s)
  • info-mode fornece apenas o comportamento "abrir em nova janela" para "cliques do teclado", mas não para cliques do mouse.
  • magit-status apenas fornece esse comportamento ao visitar arquivos, mas não quando "visitando" confirmações. Também as "visitas" (cliques no teclado) confirmam o efeito colateral de verificá-las primeiro e depois exibi-las.
  • Em describe-function buffers, os links que apontam para os arquivos de origem sempre abrem o novo quadro, sem a opção de fazer o contrário.
  • Em describe-function buffers, os links que apontam para outras funções sempre carregam o novo conteúdo no buffer atual, sem nenhuma opção para fazer o contrário.
  • Em magit buffers de histórico e describe-function help-mode buffers, os botões [back]' and [avançar] 'sempre atualizam o buffer atual.
  • Em describe-mode armazena em buffer os links para as referências cruzadas "Ativar modos secundários", basta rolar para baixo na janela atual.
  • dired-mode buffers não destacam os links ativos.

Os detalhes de implementação de tudo isso provavelmente são bem complicados, mas para ilustrar, não há mágica real, compare como info-mode trata os cliques do mouse e os cliques do teclado de maneira diferente (compare defun Info-mouse-follow-nearest-node (click) e defun Info-follow-nearest-node (&optional fork) .

    
por 13.12.2014 / 14:17
1

Editar: Na solução, seria instalar o pacote org-magit . então, você poderia usar o seguinte comando (de OrgMode) para forçar seu link a ser aberto em uma nova janela

Ctrl-u Ctrl-c Ctrl-o

Para abrir arquivos e buffers em uma nova janela:

Você pode abrir um buffer em uma nova janela com o seguinte comando

Ctrl-x 4 b

Note que você também pode abrir um arquivo em uma nova janela com um comando similar

Ctrl-x 4 f
    
por 24.09.2013 / 15:55

Tags