Emacs 26.3:生涩的滚动

Emacs 26.3: jerky scroll

Emac 的滚动非常不稳定且不可预测。奇怪的是,当您滚动时,顶行几乎从来不是没有字符的行——但这种情况非常非常少。我最好的猜测是,emacs 的垂直滚动条可能没有考虑文件中的行数,而是字符数,或者其他什么?然后,一旦它在顶行找到它想要的字符,它就会回溯以找到该字符的开头?

有什么方法可以简单地让每一行均等地分配滚动条滚动区域?

我将以下内容添加到我的 ~/.emacs 文件中。

前三个在使用滚动条时调整外观。在大多数情况下,仅 scroll-conservatively 可能就足够了,但我看到其他两个似乎有帮助的边缘情况。我没有完整的解释,如果有人有想法,我想知道更多。

接下来的两个影响鼠标的滚轮。具体来说,mouse-wheel-scroll-amount 设置意味着正常情况下每次单击滚轮移动 2 行,如果按住 shift 则移动 10 行。或整个页面(nil 在此用法中的含义)(屏幕上的行数)如果按住控件。 mouse-wheel-progressive-speed 防止滚动越来越快。

(setq scroll-step 1)
(setq scroll-conservatively 10000)
(setq auto-window-vscroll nil)

(setq mouse-wheel-scroll-amount '(2 ((shift) . 10) ((control) . nil)))
(setq mouse-wheel-progressive-speed nil)