如何使 Emacs 水平滚动更加流畅?

如何使 Emacs 水平滚动更加流畅?

我已经习惯了scroll-conservatively使 Emacs 的垂直滚动行为更加流畅。水平滚动仍然很糟糕。屏幕会跳转很多列,我经常会忘记自己在哪里。

可以让这个过程更顺利一些吗?

答案1

似乎没有直接等效scroll-conservatively于水平滚动的功能,但自定义hscroll-step(也许还有hscroll-margin)应该至少产生接近相同行为的效果。从手册

该变量hscroll-margin控制在自动滚动发生之前点与窗口左边缘和右边缘的距离。它以列为单位。例如,如果该值为 5,则将点移动到边缘 5 列以内会导致水平滚动远离该边缘。

该变量hscroll-step决定当点太靠近边缘时,窗口要滚动多少列。默认值为零,表示将点水平置于窗口的中心。正整数值指定要滚动的列数。浮点数指定要滚动的窗口宽度的分数。

答案2

这与使用触控板滚动无关,但谁知道呢:

(global-set-key (kbd "<mouse-7>") '(lambda ()
                                     (interactive)
                                     (scroll-left 4)))
(global-set-key (kbd "<mouse-6>") '(lambda ()
                                     (interactive)
                                     (scroll-right 4)))

如果您想知道 Emacs 认为您的水平滚动“按钮”是什么,请尝试C-h k( describe-key),然后使用您的水平滚动。因此,在我当前的设置中,Emacs 报告<mouse-7><mouse-6>。我最初使用(scroll-left 1),但将其替换为4以获得更快的滚动速度。

相关内容