可以在窗口中“滚动超过缓冲区的末尾”。这很有用,因为当缓冲区没有填满用于显示它的窗口的整个可用区域时,Emacs 必须以某种方式使用额外的空间。
但是,有时当整个缓冲区完全适合窗口时,顶部仍然不显示,并且在缓冲区内容下方浪费了不必要的空间以填充可用空间。如果窗口自动滚动以显示完整的缓冲区,或者如果它尽可能地大于窗口,那会更好。
换句话说,窗口显示“缓冲区结束以下”的唯一时间是窗口太大。
有没有一种模式或选项可以做到这一点?
最佳答案
编辑:所以像这样的东西?
(add-hook 'post-command-hook 'my-eob-recenter)
(defun my-eob-recenter ()
(when (pos-visible-in-window-p (point-max))
(save-excursion
(goto-char (point-max))
(recenter -1))))
原答案:
如果您有一个大于其内容的窗口,并且您想将其缩小以适应,则有一个绑定(bind)。
C-x- 运行
shrink-window-if-larger-than-buffer
我个人怀疑如果它自动发生,这会很烦人,但你可以试试这个:
(defadvice split-window (after my-split-window-shrink)
"Shrink the selected window after a window split
if it is larger than its contents."
(shrink-window-if-larger-than-buffer))
(ad-activate 'split-window)
关于emacs - 尽可能使缓冲区在窗口中可见,而不是在缓冲区后显示空白区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16527669/