如何(或尝试)将 Emacs 窗口的窗口大小(而不是框架大小)设置为特定值?我知道 Emacs 有适合内容的函数,但没有一个函数允许我设置精确的高度。我知道,只有在我正在调整的尺寸上存在其他窗口时,我才能执行此操作。我需要它来自动调整编译缓冲区中的高度(当然达到某个阈值,例如 frame-height()
的 2/3)以适应编译器输出的消息行数/口译员。
到目前为止我已经
(balance-windows (get-buffer-window compilation-buffer))
(fit-window-to-buffer (get-buffer-window compilation-buffer)
(/ (frame-height) 2))
但由于某种原因,当编译窗口较小时,第一条语句不起作用。也就是说,当编译窗口太大时,代码可以正常工作,但当编译窗口太小时,代码就不能正常工作。
最佳答案
- 获取您要更改的窗口的当前高度。
- 计算当前高度所需的变化:增量。
- 将增量传递给
enlarge-window
。
例如,
(let* ((curr-ht (window-height window))
(delta (- DESIRED-HEIGHT curr-ht)))
(save-excursion
(save-selected-window (select-window window)
(enlarge-window delta))))
关于emacs - 显式设置 Emacs 窗口的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432909/