关闭Emacs中的特定窗口

时间:2018-06-20 12:21:52

标签: emacs

在emacs中创建窗口非常容易,例如C-x 2在当前窗口的下方创建一个窗口,而C-x 3在当前窗口的右侧创建一个窗口。因此,很容易创建如下布局:

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

现在是一个问题,我如何快速杀死特定的窗口(就像我在1号窗口中工作一样,在2号窗口中查看某些东西,而不想在3号窗口中,所以想要快速将其杀死),而不必跳到那个窗口?我知道我们可以使用C-x o切换到该窗口并使用C-x 0杀死它。无论如何,例如按C-x k 3杀死3号窗户?

1 个答案:

答案 0 :(得分:0)

如果您使用库frame-cmds.el,则可以使用命令delete-windows-on删除给定缓冲区的所有窗口。缓冲区名称是完整读取的,因此通常很快。

交互式:

  • 不带前缀arg,则删除所有帧上的匹配窗口
  • 前缀arg> = 0,仅删除所选(当前)帧上的匹配窗口
  • 前缀arg <0,删除所有可见帧上的匹配窗口

您当然可以使用delete-windows-on来定义自己的命令,该命令始终像delete-windows-on一样使用正前缀arg。只需使用(delete-windows-on nil t)

(如果您使用Icicles,则C-u C-x 0(命令icicle-delete-window)和命令icicle-delete-window-by-name的行为类似。它们是multi-commands,这意味着您可以只需一次命令调用即可删除多个窗口。)