emacs - 显式设置 Emacs 窗口的大小

标签 emacs compilation height elisp

如何(或尝试)将 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))

但由于某种原因,当编译窗口较小时,第一条语句不起作用。也就是说,当编译窗口太大时,代码可以正常工作,但当编译窗口太小时,代码就不能正常工作。

最佳答案

  1. 获取您要更改的窗口的当前高度。
  2. 计算当前高度所需的变化:增量。
  3. 将增量传递给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/

相关文章:

emacs - M-x 编译更好的最终状态

node.js - 如何将ReactJS应用程序(文件)编译成一个index.html文件?

emacs - 提取二级标题

emacs - org-mode 使用当前颜色主题发布

c - 编译后的 c 可执行文件如何知道如何表示特定内存地址处的一系列位?

php - 将 PHP 编译成独立的可执行文件(更快?)

jquery - 重新计算高度函数偶尔工作

jquery 动画到自动高度不起作用

javascript - 将 Div 滑动到自动高度

emacs magit 差异突出显示