如何让 Emacs 更平滑地水平滚动?

Arn*_*rne 8 emacs scrolling

我已经scroll-conservatively用来平滑 Emacs 的垂直滚动行为。水平滚动仍然很糟糕。屏幕跳跃了许多列,我经常忘记自己在哪里。

有没有可能让这更顺利?

Bra*_*nor 6

这与我的触控板滚动无关,但谁知道:

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

如果您想了解 Emacs 认为您的水平滚动“按钮”是什么,请尝试C-h k( describe-key) 然后使用您的水平滚动。所以在我目前的设置中,Emacs 报告<mouse-7><mouse-6>. 我从 开始(scroll-left 1),但替换为4以获得更快的滚动速度。


Aar*_*ler 4

scroll-conservatively水平滚动似乎没有直接等效的东西,但定制hscroll-step(也许也hscroll-margin)应该产生至少接近相同行为的东西。从手册中:

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

该变量hscroll-step确定当点太靠近边缘时要滚动窗口的列数。零(默认值)意味着在窗口内水平居中。正整数值指定要滚动的列数。浮点数指定要滚动的窗口宽度的分数。