O Emacs está constantemente criando novas janelas e está arruinando meu dia ultimamente. Como posso dizer ao emacs para usar a seguinte política ao criar janelas?
- Preferir divisões verticais
- Pare de fazer divisões verticais quando as janelas tiverem menos de 80 colunas.
- Pare de fazer divisões horizontais quando a janela tiver menos de 60 linhas.
- Quando eu chegar a essa grade 6x6, no meu monitor de 27 ", comece a reutilizar as janelas!
Além disso, prefiro que minhas janelas estejam sempre equilibradas, mas cada divisão deixa os tamanhos da viúva desequilibrados. Prefiro ter três janelas de tamanho igual a uma grande e duas pequenas demais! Existe um cenário para isso, ou um lugar sensato para colocar um conselho das janelas de equilíbrio?
window-splitting
expez
fonte
fonte
display-buffer-alist
. Outros apenas corrigem programaticamente após o fato - por exemplo,delete-window
eswitch-to-buffer
, dividem verticalmente / horizontalmente e assim por diante. E existem algumas bibliotecas adicionais para ajudar a gerenciar as janelas e / ou reverter para o layout anterior. Prefiro a primeira opção - ou seja, modificar a fonte e torná-la absolutamente perfeita, mas estou na rara minoria de pessoas.split-height-threshold
esplit-width-threshold
- gnu.org/software/emacs/manual/html_node/emacs/…display-buffer-alist
. Consultedisplay-buffer
os requisitos dessa função ACTION (e a lista de funções padrão, o código para o qual você pode examinar), mas será responsável por exibir o buffer da maneira que desejar (e certamente equilibrará as janelas posteriormente) .Respostas:
Estou usando o seguinte há muito tempo. Pode ser necessário editá-lo para acomodar seu estilo preferido.
fonte
Um pouco tarde, mas porque eu também procurei por isso e não consegui encontrar uma solução pronta:
Você pode definir sua própria
split-window-sensibly
função.Para fazer isso, coloque o seguinte em seu
init.el
:Nota: os limites precisam ser duas vezes maiores que a menor janela permitida, porque as novas janelas usam metade do tamanho da janela anterior.
A última linha diz ao emacs para usar a função de divisão definida.
fonte
Isso fará com que você prefira divisões verticais
fonte
(setq split-height-threshold nil) (setq split-width-threshold 200)
split-height-threshold
para basicamente nunca querer dividir horizontalmente200
parece um número alto o suficiente para que, mesmo em um monitor externo grande, o Emacs só se divida no máximo uma vez.fonte