Comprimi finestre divise


11

Date finestre divise in questo modo:

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

Esistono due opzioni per comprimere le finestre divise:

  • delete-other-windows (Ctrl-x 1)
  • finestra di eliminazione (Ctrl-x 0)

Domanda : c'è un modo per controllare come collassano?


Ad esempio, come posso comprimere in questo modo:

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

, Questo:

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

, Questo:

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

, o questo:

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

?

Risposte:


13

Prova asso-finestra .

Se lo leghi in questo modo:

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

È possibile passare alla finestra 2 premendo M-p 2. Inoltre, puoi eliminare la finestra 2 premendo M-p x2: questo ti porterà nel tuo primo esempio. Altri esempi seguono semplicemente cambiando la chiave finale.

Sono presenti altri modificatori:

  • Utilizzare xper eliminare
  • Utilizzare mper scambiare
  • Utilizzare vper dividere verticalmente
  • Utilizzare bper dividere orizzontalmente
  • Utilizzare iper eliminare finestre diverse da quella selezionata
  • Utilizzare oper eliminare altre finestre rispetto a quella corrente
  • Utilizzare nper passare all'ultima finestra

Gli ultimi due modificatori in realtà non richiedono ulteriori input, mentre gli altri richiedono sempre una finestra su cui agire.

I modificatori sono personalizzabili tramite aw-dispatch-alist. I tasti della finestra (che sono 1/2/3/4 ... per impostazione predefinita) sono personalizzabili tramite aw-keys.

Ecco l'impostazione che sto usando:

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

9

La funzione delete-windowha un argomento opzionale WINDOW.

La funzione window-in-directionha un argomento obbligatorio di DIREZIONE e argomenti opzionali per WINDOW IGNORE SIGN WRAP MIN. Per saperne di più su questi argomenti leggendo la stringa di documenti, un utente può digitare M-x describe-function RET window-in-direction RET.

Ad esempio, le seguenti quattro funzioni potrebbero essere utilizzate per controllare la direzione in cui una finestra viene eliminata. Un utente potrebbe voler assegnare scorciatoie da tastiera.

(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)))
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.