Comment changer la taille des fenêtres emacs à écran partagé?

12

Si j'ai Emacs divisé horizontalement et en haut je modifie le code elisp et en bas je suis dans le shell. Par défaut, Emacs réduit la taille des deux fenêtres, mais j'aimerais que le tampon du shell soit plus petit. Je me demandais comment je pouvais faire ça.

Question originale posée par Steve sur SO: Comment changer la taille des fenêtres emacs à écran partagé?

Luke Shimkus
la source
4
Sommes-nous en train de dupliquer intentionnellement des questions de SO? stackoverflow.com/questions/4987760/…
phils
@phils, non je ne l'étais pas. Mais je ferai un lien vers le message. Merci pour la perspicacité.
Luke Shimkus du
au-delà, celui-là était un peu trop facile :)
Nsukami _
1
Gee, super montage @King. Maintenant, cette question est devenue vraiment différente de celle que vous avez copiée ...
rsenna
2
cela me fait penser que les questions liées à emacs sur SO devraient être migrées. Il aura évité le (petit) tumulte
Nsukami _

Réponses:

18

C-x-( shrink-window-if-larger-than-buffer) pour réduire une fenêtre pour l'adapter à son contenu.

C-x+( balance-windows) pour que les fenêtres aient les mêmes hauteurs et largeurs.

C-x^( enlarge-window) pour augmenter la hauteur d'une ligne ou la valeur d'argument du préfixe. Un argument négatif rétrécit la fenêtre. Exemple:C-u - 3 C-x ^

C-x{( shrink-window-horizontally)

C-x}( enlarge-window-horizontally)

Nsukami _
la source
+1 pour la commande de rétrécissement. Je cherchais le moyen de rétrécir d'une seule ligne. Qu'est-ce que c'est C-u?
Vass
3
@Vass C-ucommence un argument numérique pour la commande suivante. Si vous voulez augmenter 5 fois, au lieu de taper, 5 fois, la même commande, vous tapezC-u 5 C-x ^
Nsukami _
1
Il convient également de noter que la C-uvaleur par défaut est 4, ce qui signifie que C-u C-x ^cela fera la même chose que C-u 4 C-x ^.
ramnes
7

Je recommanderais également de vérifier le windresizepackage d' ELPA ou le windsizepackage de MELPA .

Avec windresize, vous pouvez faire M-x windresize, puis utiliser les touches fléchées pour déplacer facilement les bordures de fenêtre, en appuyant sur ENTRÉE lorsque vous avez terminé.

Lee H
la source
3

Vous pouvez utiliser C-x^( enlarge-window) dans la fenêtre supérieure pour l'agrandir (et ainsi rendre la fenêtre inférieure plus petite).

À l'aide de la souris, vous pouvez également faire glisser la modélisation de la fenêtre supérieure pour la redimensionner.

François Févotte
la source
bonne idée de faire une autre fenêtre plus petite en agrandissant celle au-dessus!
Vass
0

Notez également que, tout comme dans un système de fenêtre, vous pouvez utiliser la souris avec le mode xterm-mouse pour faire glisser le séparateur de fenêtre.

Notez que cela semble parfois dépendre un peu du programme xterm ou de type xterm réel, et iirc dans les anciens Emacsen, il n'était pas fiable après la 100e colonne, sauf si vous jouiez un peu avec la variable d'environnement TERM, mais dans mon Emacs 24.2 .1 cela fonctionne très bien avec emacs -nw -q (c'est-à-dire en ignorant totalement mes .emacs et en activant manuellement le mode xterm-mouse avec M-x xterm-mouse-mode)

Mise à jour: pour information, je soulignerai que cela fonctionne également pour les séparateurs verticaux (c'est-à-dire lorsque vous avez fractionné avec C-x 3)

Mark Aufflick
la source
0

J'ai déjà écrit un mode mineur simple (pour mon usage personnel) de manière interactive resize-frame. Je pense que cela devrait être pratique.

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

M-x resize-framepour activer le resize-framemode mineur:

  1. Appuyez arrow keyspour régler la taille horizontalement / verticalement.
  2. Appuyez sur n'importe quelle autre touche pour désactiver.
kuanyui
la source