Come modificare le dimensioni delle finestre emacs con schermo diviso?


12

Se ho Emacs diviso in orizzontale e in cima sto modificando il codice elisp e in fondo sono nella shell. Per impostazione predefinita, Emacs rende le due finestre uguali per dimensioni, ma vorrei che il buffer della shell fosse più piccolo. Mi chiedevo come avrei potuto farlo.

Domanda originale posta da Steve su SO: Come modificare le dimensioni delle finestre emacs con schermo diviso?


4
Stiamo duplicando intenzionalmente domande da SO? stackoverflow.com/questions/4987760/...
Phils

@phils, No, non lo ero. Ma farò un link al post. Grazie per la comprensione.
Luke Shimkus,

oltre a quello, quello era un po 'troppo facile :)
Nsukami _

1
Accidenti, ottima modifica @King. Ora questa domanda è diventata davvero diversa da quella che hai copiato ...
rsenna,

2
mi fa pensare che, le domande relative agli emacs su SO dovrebbero essere migrate. Avrà evitato il (minuscolo) tumulto
Nsukami _

Risposte:


18

C-x-( shrink-window-if-larger-than-buffer) per ridurre una finestra per adattarla al suo contenuto.

C-x+( balance-windows) per rendere Windows le stesse altezze e larghezze.

C-x^( enlarge-window) per aumentare l'altezza di 1 riga o il valore arg del prefisso. Un argomento negativo restringe la finestra. Esempio:C-u - 3 C-x ^

C-x{( shrink-window-horizontally)

C-x}( enlarge-window-horizontally)


+1 per il comando di riduzione. Stavo cercando il modo di restringere di una sola riga. Che cosa è C-u?
Vass

3
@Vass C-uinizia un argomento numerico per il seguente comando. Se vuoi aumentare di 5 volte, invece di digitare, 5 volte, lo stesso comando, digitiC-u 5 C-x ^
Nsukami _

1
Vale anche la pena notare che C-uil valore predefinito è 4, il che significa che C-u C-x ^farà lo stesso di C-u 4 C-x ^.
Ramnes,

7

Consiglierei anche di controllare il windresizepacchetto da ELPA o il windsizepacchetto da MELPA .

Con windresize, puoi fare M-x windresizee poi usare i tasti freccia per spostare facilmente i bordi della finestra, premendo INVIO quando hai finito.


3

Puoi usare C-x^( enlarge-window) nella finestra superiore per ingrandirla (e quindi ridurre la finestra inferiore).

Usando il mouse, puoi anche trascinare la modeline della finestra superiore per ridimensionarla.


ottima idea di rimpicciolire un'altra finestra allargando quella sopra di essa!
Vass

0

Si noti inoltre che proprio come in un sistema a finestre, è possibile utilizzare il mouse con la modalità mouse xterm per trascinare il divisore della finestra.

Nota che questo a volte sembra dipendere un po 'dall'attuale programma xterm o simile a xterm, e iirc nella vecchia Emacsen non era affidabile oltre la centesima colonna a meno che tu non giocassi un po' con la variabile d'ambiente TERM, ma nel mio Emacs 24.2 .1 funziona bene con emacs -nw -q (cioè ignora totalmente i miei .emacs e abilita manualmente la modalità xterm-mouse con M-x xterm-mouse-mode)

Aggiornamento: Cordiali saluti per completezza, sottolineo che funziona anche per i divisori verticali (cioè quando hai diviso con C-x 3)


0

Ho mai scritto una semplice modalità minore (per il mio uso personale) in modo interattivo resize-frame. Penso che questo dovrebbe essere conveniente.

https://gist.github.com/kuanyui/65a408d393871048771c

M-x resize-frameper abilitare la resize-framemodalità secondaria:

  1. Premere arrow keysper regolare le dimensioni in orizzontale / verticale.
  2. Premere qualsiasi altro tasto per disabilitare.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.