Eu tenho o emacs dividido horizontalmente - no topo, estou editando o código Perl, o fundo é o shell. Por padrão, o emacs torna as duas janelas iguais em tamanho, mas eu gostaria que o buffer do shell fosse menor (talvez metade do tamanho?). Fiquei me perguntando como eu poderia fazer isso.
Com o mouse, você pode arrastar os tamanhos das janelas.
Clique em qualquer lugar da linha de modo que não esteja 'ativa' (o nome do buffer é seguro ou em qualquer área não utilizada do lado direito) e você pode arrastar para cima ou para baixo.
Arrastar de um lado para o outro exige um clique muito preciso no local onde as duas linhas de modo se juntam.
C-x -( shrink-window-if-larger-than-buffer) reduzirá uma janela para ajustar seu conteúdo.
C-x +( balance-windows) fará com que as janelas tenham as mesmas alturas e larguras.
C-x ^( enlarge-window) aumenta a altura em 1 linha ou o valor do prefixo arg. Um argumento negativo encolhe a janela. por exemplo, C-- C-1 C-6 C-x ^diminui 16 linhas, assim como C-u - 1 6 C-x ^.
(Não há ligação padrão para shrink-window.)
C-x }( enlarge-window-horizontally) faz o mesmo, horizontalmente.
C-x {( shrink-window-horizontally) também é vinculado por padrão.
Seguir um destes comandos com repeat( C-x zpara iniciar e apenas zpara repetição contínua) facilita bastante o tamanho exato desejado.
Se você deseja fazer isso regularmente com um valor específico, grave uma macro de teclado ou use algo como
Qual é um hacker smidgen, então isso seria melhor:
Tangencialmente, também adoro o winner-modeque permite desfazer repetidamente quaisquer alterações nas configurações da janela C-c left(se a alteração é do tamanho / número / disposição das janelas ou apenas qual buffer é exibido). C-c rightretorna para a configuração mais recente. Configure globalmente com(winner-mode 1)
Incrível, exatamente o que eu queria! Muito obrigado!
— 1711 Steve
+1: obrigado pela dica 'desfazer' no modo vencedor. btw, no meu caso, um clique no nome do buffer abre o próximo buffer. Mas é fácil ver quando você pode redimensionar a forma do cursor do mouse.
Coloquei estes no meu .emacs:
— wilbeibi
Os dois primeiros não funciona para mim em Emacs 24.3.1 do Mac OSX 10.9.1
@OskarPersson Pode ser o conflito com atalhos globais. Descubra isso na preferência ou no controle remapeado para caps lock (do meu jeito), deve funcionar então.
Eu tive o mesmo problema e descobri que C-esquerda e C-direita estavam em conflito com os atalhos do Controle de Missão nas Preferências do Sistema OS X, conforme descrito por @Wilbeibi.
Estas chaves já estão definidos, primeiro resetar as chaves com (global-set-key (kbd "<C-up>") nil)antes set, mas seria melhor aproveitamento M-leftvez
— Mauricio Cortazar
@MauricioCortazar Não uso o Emacs há anos. Esta resposta pode não se aplicar agora. Sinta-se livre para atualizá-lo.
vamos tentar usar o documento de ajuda do emacs.
Em seguida, digite "ampliar" ou "janela"
É possível que alguém esteja trabalhando em um ambiente em que C-hnão esteja disponível. O que então?
Se você clobbered a ajuda de ligação mapa padrão, então certamente você deve estar ciente do que você clobbered-lo com . (Caso contrário, tente <f1>que é o outro de ajuda padrão mapa de ligação.)
C-x opara a janela cujo tamanho você deseja expandir. A partir daí, C-x ^para expandi-lo.
Caso as ligações sejam diferentes (as minhas são), o comando é enlarge-window. Uma dica adicional é usar um prefixo arg para controlar a quantidade de expansão.
— Joseph Gay
— 21411 Steve Steve
C-x ^aceita argumentos numéricos positivos e negativos. Em particular, se você quiser reduzir a janela onde atualmente está o cursor em quatro linhas, pressione C-u -4 C-x ^.
Esta não é a resposta exata que você está procurando, mas me deparei com essa pergunta ao procurar a funcionalidade spacemacs, portanto escreverei minha resposta apenas por uma questão de integridade.
A opção é usar <SPC> + w + .(funciona em baunilha spacemacs)
Isso abre uma janela transitória onde é possível []{}redimensionar em um nível granular.
Não há necessidade de Cx ou Mouse ...
se houver algo semelhante no emacs regular?
Provavelmente não está lá, e é por isso que Drew fez essa pergunta em primeiro lugar ...
Eu tenho a mesma pergunta. Aqui está a minha solução.
Primeiro, defino uma nova função:
Por exemplo, eu quero executar o esquema em um buffer, então eu o reescrito.
E aqui está a definição, com a função definida anteriormente:
Então agora, quando digito: Mx run-schema-here, o buffer é redimensionado!
E aqui está o meu arquivo de configuração, esperando que isso ajude. https://github.com/judevc/dotfiles/blob/master/.emacs.d/scheme-conf.el