Réduire les fenêtres fractionnées

11

Étant donné les fenêtres fractionnées comme ceci:

|------|-------|
|1     |2      |
|      |       |
|------|-------|
|3     |4      |
|      |       |
|------|-------|

Il existe deux options pour réduire les fenêtres fractionnées:

  • supprimer-autres-fenêtres (Ctrl-x 1)
  • supprimer-fenêtre (Ctrl-x 0)

Question : existe-t-il un moyen de contrôler leur effondrement?


Par exemple, comment puis-je m'effondrer comme ceci:

|------|-------|
|1             |
|              |
|------|-------|
|3     |4      |
|      |       |
|------|-------|

, ce:

|------|-------|
|2             |
|              |
|------|-------|
|3     |4      |
|      |       |
|------|-------|

, ce:

|------|-------|
|1     |2      |
|      |       |
|      |-------|
|      |4      |
|      |       |
|------|-------|

, ou ca:

|------|-------|
|3     |2      |
|      |       |
|      |-------|
|      |4      |
|      |       |
|------|-------|

?

Débutant
la source

Réponses:

13

Essayez ace-window .

Si vous le liez comme ceci:

(global-set-key "M-p" 'ace-window)

Vous pouvez passer à la fenêtre 2 en appuyant sur M-p 2. De plus, vous pouvez supprimer la fenêtre 2 en appuyant sur M-p x2: cela vous amènera dans votre premier exemple. D'autres exemples suivent en changeant simplement la clé finale.

Il existe d'autres modificateurs:

  • Utilisez xpour supprimer
  • Utilisez mpour échanger
  • Utilisez vpour diviser verticalement
  • Utilisez bpour diviser horizontalement
  • Utilisez ipour supprimer d'autres fenêtres que celle sélectionnée
  • Permet ode supprimer d'autres fenêtres que la fenêtre actuelle
  • Utilisez npour passer à la dernière fenêtre

Les deux derniers modificateurs ne nécessitent en fait aucune autre entrée, tandis que les autres vous demandent toujours une fenêtre sur laquelle agir.

Les modificateurs sont personnalisables via aw-dispatch-alist. Les touches de fenêtre (qui sont 1/2/3/4 ... par défaut) sont personnalisables via aw-keys.

Voici le paramètre que j'utilise:

(setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l))
abo-abo
la source
9

La fonction delete-windowa un argument facultatif WINDOW.

La fonction window-in-directiona un argument obligatoire de DIRECTION et des arguments facultatifs pour WINDOW IGNORE SIGN WRAP MIN. Pour en savoir plus sur ces arguments en lisant la chaîne de doc, un utilisateur peut taper M-x describe-function RET window-in-direction RET.

Par exemple, les quatre fonctions suivantes peuvent être utilisées pour contrôler la direction dans laquelle une fenêtre est supprimée. Un utilisateur peut souhaiter attribuer des raccourcis clavier.

(defun delete-window-above ()
"Delete window in direction 'above."
(interactive)
  (delete-window (window-in-direction 'above)))

(defun delete-window-below ()
"Delete window in direction 'below."
(interactive)
  (delete-window (window-in-direction 'below)))

(defun delete-window-left ()
"Delete window in direction 'left."
(interactive)
  (delete-window (window-in-direction 'left)))

(defun delete-window-right ()
"Delete window in direction 'right."
(interactive)
  (delete-window (window-in-direction 'right)))
liste des lois
la source