我从某个地方复制了它,并且一次滚动一行很好。
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
但是,我在这里不了解'(1 ((shift) . 1)
的含义。shift
做什么?
与emacs中的任何变量一样,使用 c-h v mouse-wheel-scroll-amount
来了解它。
在这种情况下,我看到:
鼠标 - 轮旋转 - 旋转式Amount是在" mwheel.el"中定义的变量。
它的值为(5((shift).1)((control)))文档:
旋转鼠标车轮时,用滚动窗户滚动。 这是一个alist 将修饰符键映射到滚动时 轮子用修饰符钥匙凹陷移动。 列表的元素具有表格(修改器。金额),或者只是金额 修饰符为nil。的数量应为要滚动的线数,或者零零以接近满足 屏幕。它也可以是浮点数,指定 全屏滚动。近屏幕是"次屏幕上下文线" 小于全屏。
这是有些技术性的,但告诉我,emacs在默认使用鼠标轮时将滚动5行;但是,当我握住 shift> shift 时,只有1行;而且,如果我持有 ctrl ,它将一次滚动到全屏幕附近的东西 - 因为 ((control))
与 ((control) . nil)
是相同的。
:
的行为(setq mouse-wheel-scroll-amount '(1 ((shift) . 1)))
因此,相当于简单的
(setq mouse-wheel-scroll-amount '(1))
与后一种情况一样,修改器键没有替代。