Cenário: tenho várias (mais de 2) janelas abertas. Eu trabalho ativamente com dois deles. Como melhor pular de uma janela para outra e voltar com um comando?
Eu uso a janela do ás; é ótimo, mas eu não quero pressionar o número da janela todas as vezes. Eu sei sobre next-window
/ prev-window
, mas estes são dois comandos diferentes.
O que estou procurando é algo que se lembre do que eram as janelas anteriores quando eu seleciono outra janela e volto a ela. Invocado repetidamente, ele alternaria entre as duas últimas janelas, Alt- Tab-style.
Onde eu olho?
fn
mais uma das teclas de seta para ir em qualquer direção, incluindo dentro e fora do minibuffer (se estiver ativo) - consulte a biblioteca internawindmove
.Respostas:
Uma maneira de escrever seu próprio comando é usar a
get-mru-window
função interna.Por exemplo:
Ele procura a janela usada mais recentemente no quadro atual que não é a janela selecionada no momento.
Aqui está uma variação que funciona em quadros visíveis:
Conforme mencionado nos comentários, aqui está uma variação que funciona quando há apenas uma janela (alternando para o buffer mais recente):
fonte
get-mru-window
.mode-line-other-buffer
. Dessa forma, eu tenho uma chave que alterna entre dois buffers em qualquer configuração de janela.Se você já estiver usando
ace-window
, poderá usar o comandoaw-flip-window
para alternar entre duas janelas. Por padrão, isso está vinculadon
na janela do ásaw-dispatch-alist
.Isso significa que você pode invocar a ás-janela e pressionar em
n
vez do número da janela para voltar à janela anterior. Você também pode vincularaw-flip-window
a outra chave.Observe que isso voltará apenas para uma janela que foi selecionada anteriormente pela janela do ás. Se você alterna frequentemente o Windows com outros comandos, pode querer uma solução mais geral.
fonte
Aqui está um comando simples, levemente testado, que o levará para a janela visitada mais recentemente:
fonte
next-window
ouother-window
, a alteração não será identificada narecent-window
variável. Não há um gancho óbvio para usar, portanto, consertar essa parte pode envolver a definição de conselhos para várias outras funções.buffer-list-update-hook
, que é chamado quando a janela ativa muda (depoisselect-window
). Esse gancho é chamado em outros casos, mas pode ser usado para acompanhar a última janela.