折叠拆分窗口


11

给定这样的分割窗口:

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

有两种方法可以折叠拆分的窗口:

  • 删除其他窗口(Ctrl-x 1)
  • 删除窗口(Ctrl-x 0)

问题:有没有办法控制它们的塌陷?


例如,我如何这样折叠:

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

, 这个:

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

, 这个:

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

, 或这个:

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

Answers:


13

尝试ace-window

如果这样绑定它:

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

您可以通过按切换到窗口2 M-p 2。同样,您可以通过按删除窗口2 M-p x2:这将带您进入第一个示例。其他示例仅更改最终键即可。

存在其他修饰符:

  • 使用x删除
  • 使用m到交换
  • 用于v垂直分割
  • 用于b水平分割
  • 使用i删除其他窗口比选择一个
  • 使用o删除其他窗口比当前的
  • 使用n切换到最后一个窗口

最后两个修饰符实际上不需要任何其他输入,而其他修饰符总是提示您输入要操作的窗口。

修饰符可通过进行自定义aw-dispatch-alist。窗口键(默认为1/2/3/4 ...)可通过进行自定义aw-keys

这是我正在使用的设置:

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

9

该函数delete-window具有可选参数WINDOW。

该函数window-in-direction具有DIRECTION的强制性参数和WINDOW IGNORE SIGN WRAP MIN的可选参数。要通过阅读文档字符串来了解有关这些参数的更多信息,用户可以输入M-x describe-function RET window-in-direction RET

例如,以下四个功能可用于控制删除窗口的方向。用户可能希望分配键盘快捷键。

(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)))
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.