
Aus einem Rahmenerstes Bildmit zwei Emacs-Fenstern,gewinne-einsAnzeigepufferbuf-oneUndSieg-zweiAnzeigebuf-zwei, ich möchte in der Lage sein, zu "brechen"Sieg-zweiin einen eigenen Rahmen verschoben, vielleicht durch einen Modifier-Klick auf die Modeline. Danach
- beidegewinne-einsUndSieg-zweiwürden ihre individuellen Höhen-/Breiten- und Pufferzuordnungen beibehalten, die sie hatten, als sie inerstes Bild
- gewinne-einswürde im selbenerstes Bild, UndSieg-zweiwürde nun in einer neuen, separatenzweites Bild
- Originalposition, Farbe und Schrifteinstellungen würden soweit möglich beibehalten
Ich habe mich gefragt, ob dieses Verhalten irgendwo in der Standardbibliothek verfügbar ist, ob es eine Erweiterung dafür gibt oder ob vielleicht eine kleine Elisp-Funktion funktionieren würde?
Antwort1
Ja, es gibt einen solchen Befehl: mouse-tear-off-window
. Ich binde ihn an C-mouse-1
die Moduszeile:
(global-set-key [mode-line C-mouse-1] 'mouse-tear-off-window)
Der Befehl ist im Standard-Emacs ( emacs -Q
) verfügbar. Ich verwende jedoch meine eigene Version davon, die das Fenster nicht löscht, wenn es allein in seinem Rahmen steht. Stattdessen klont sie den Rahmen und das Fenster. Diese Version befindet sich in der BibliothekMaus+.el. Doc-Zeichenfolge:
,----
| mouse-tear-off-window is an interactive compiled Lisp function in
| `mouse+.el'.
|
| It is bound to mode-line C-mouse-1.
|
| (mouse-tear-off-window EVENT)
|
| Create a new frame displaying buffer of window clicked on.
| If window is not the only one in frame, then delete it.
| Otherwise, this command effectively clones the frame and window.
`----
Antwort2
Dies ist eine Standardbindung:
C-x 5 C-o : display-buffer-other-frame
Was bedeutet: Puffer BUFFER in einem anderen Frame anzeigen.
Antwort3
Sie können verwenden:
M-x new-frame
F9Ich habe es zum Beispiel an Folgendes gebunden :
(global-set-key (kbd "<f9>") 'new-frame)