
從一個框架第一幀包含兩個 Emacs 窗口,雙贏顯示緩衝區緩衝一和雙贏顯示緩衝區二,我希望能夠“打破”雙贏進入它自己的框架,也許使用修改器點擊模型行。在這之後,
- 兩個都雙贏和雙贏將保留其各自的高度/寬度和緩衝區關聯第一幀
- 雙贏會留在同一個地方第一幀, 和雙贏現在將在一個新的、單獨的第二幀
- 盡可能保留原始位置、顏色和字體設置
我想知道這種行為是否在標準庫中可用,是否有擴展,或者一個小的 elisp 函數是否可以工作?
答案1
是的,有這樣一個命令:mouse-tear-off-window
。我將它綁定到C-mouse-1
模式行:
(global-set-key [mode-line C-mouse-1] 'mouse-tear-off-window)
此指令在普通 Emacs ( ) 中可用emacs -Q
。但我使用我自己的版本,如果視窗單獨位於其框架中,則不會刪除該視窗。相反,它克隆了框架和視窗。該版本在庫中滑鼠+.el。文件字串:
,----
| 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.
`----
答案2
這是預設綁定:
C-x 5 C-o : display-buffer-other-frame
其作用是:在另一幀中顯示緩衝區 BUFFER。
答案3
您可以使用:
M-x new-frame
我已將其綁定到F9,例如:
(global-set-key (kbd "<f9>") 'new-frame)