Geteilte Fenster reduzieren

10

Bei geteilten Fenstern wie folgt:

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

Es gibt zwei Möglichkeiten, um die geteilten Fenster zu reduzieren:

  • andere Fenster löschen (Strg-x 1)
  • Löschfenster (Strg-x 0)

Frage : Gibt es eine Möglichkeit zu kontrollieren, wie sie zusammenbrechen?


Wie kann ich zum Beispiel so zusammenbrechen:

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

, diese:

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

, diese:

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

, oder dieses:

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

?

Anfänger
quelle

Antworten:

13

Versuchen Sie es mit Ace-Window .

Wenn Sie es so binden:

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

Sie können zu Fenster 2 wechseln, indem Sie drücken M-p 2. Sie können Fenster 2 auch löschen, indem Sie auf drücken M-p x2: Dies bringt Sie zu Ihrem ersten Beispiel. Weitere Beispiele folgen, indem nur der letzte Schlüssel geändert wird.

Es sind andere Modifikatoren vorhanden:

  • Verwenden Sie xzum Löschen
  • Verwenden Sie mzum Swap
  • Verwenden Sie vdiese Option , um vertikal zu teilen
  • Verwenden Sie bdiese Option , um horizontal zu teilen
  • Verwenden Sie idiese Option, um andere Fenster als das ausgewählte zu löschen
  • Verwenden Sie odiese Option, um andere Fenster als das aktuelle zu löschen
  • Verwenden Sie ndiese Option, um zum letzten Fenster zu wechseln

Die letzten beiden Modifikatoren erfordern eigentlich keine weiteren Eingaben, während die anderen Sie immer auffordern, auf ein Fenster zu reagieren.

Die Modifikatoren können über angepasst werden aw-dispatch-alist. Die Fenstertasten (standardmäßig 1/2/3/4 ...) können über angepasst werden aw-keys.

Hier ist die Einstellung, die ich verwende:

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

Die Funktion delete-windowhat ein optionales Argument WINDOW.

Die Funktion window-in-directionhat ein obligatorisches Argument von DIRECTION und optionale Argumente für WINDOW IGNORE SIGN WRAP MIN. Um mehr über diese Argumente durch Lesen der Dokumentzeichenfolge zu erfahren, kann ein Benutzer Folgendes eingeben M-x describe-function RET window-in-direction RET.

Beispielsweise könnten die folgenden vier Funktionen verwendet werden, um die Richtung zu steuern, in die ein Fenster gelöscht wird. Ein Benutzer möchte möglicherweise Tastaturkürzel zuweisen.

(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)))
Gesetzesliste
quelle