emacs,unsplit特定的窗口拆分

kin*_*ero 90 emacs elisp

这可能是一个愚蠢的问题,但我找不到直接解决方案.我经常想要解开窗口,如下所示

+--------------+-------------+             +--------------+-------------+
|              |             |             |              |             |
|              |             |             |              |             |
|              |             |             |              |             |
+--------------+             |     -->     |              |             |
|              |             |             |              |             |
|              |             |             |              |             |
|              |             |             |              |             |
+--------------+-------------+             +--------------+-------------+



+--------------+--------------+            +-----------------------------+
|              |              |            |                             |
|              |              |            |                             |
|              |              |            |                             |
+--------------+--------------+    -->     +-----------------------------+
|                             |            |                             |
|                             |            |                             |
|                             |            |                             |
+-----------------------------+            +-----------------------------+
Run Code Online (Sandbox Code Playgroud)

目前,我开始ctrl- x 1然后垂直/水平分割.但我真正的问题是如何在不打扰其他窗口结构的情况下拆除特定的窗口?是否有内置的elisp功能?

Rém*_*émi 129

您可以使用C-x0组合键删除当前窗口.

  • 谢谢,这给了我答案.确切地说,Cu Cx 0产生了我想要的效果. (3认同)
  • 我已经使用 Emacs 30 年了,但从未注意到这个功能! (2认同)

phi*_*ils 20

Rémi的答案就是你正在寻找的,但是赢家模式对于让你在做出任意改变之后回到以前的窗口配置(例如在打字后恢复那些多重分割C-x1)非常有用.

您可以在init文件中启用它:

(winner-mode 1) ;"C-c <left>" and "C-c <right>" undo and re-do window changes.
Run Code Online (Sandbox Code Playgroud)

另见:http://www.emacswiki.org/emacs/CategoryWindows