如何理解"(setq 鼠标滚轮-滚动量'(1 ((shift) . 1)))'?



我从某个地方复制了它,并且一次滚动一行很好。

(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))

与后一种情况一样,修改器键没有替代。

最新更新