可以在窗口中“滚动缓冲区的末尾”。这很有用,因为当缓冲区没有填充用于显示它的窗口的整个区域时,Emacs必须以某种方式使用额外的空间。
然而,有时当整个缓冲区完全适合窗口时,顶部仍未显示,并且在缓冲区内容下方浪费了超出必要的空间以填充可用空间。如果窗口自动滚动显示完整的缓冲区或者它是否尽可能大于窗口,那会更好。
换句话说,窗口显示“缓冲区末端下方”的唯一时间是窗口变大。
是否有这样的模式或选项?
答案 0 :(得分:1)
编辑:这样的事情?
(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))))
原始回答:
如果你有一个比它的内容大的窗口而你想缩小它以适应它,那就有一个绑定。
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)
答案 1 :(得分:0)
第二个缓冲空间看起来不大,同意了。但是,基本上这种行为是合理的,因为它会让你立刻掌握这种行为。
填充缓冲区不会告诉结束。在大多数情况下,您将在最后继续,或从信号中获取利润。
正如我设想的那样......