我对 Emacs 相当陌生,我想知道如何让 PageDown 键起作用,以便它将点发送到最后一个 PageDown 的缓冲区末尾,而不是仅在 minibuffer 中打印“缓冲区结束”。
如果保持这种行为不变有某种好处,那也将是有趣且有用的信息。
设置scroll-error-top-bottom
为非零值,或者通过M-x customize-variable RET scroll-error-top-bottom
,或者通过将以下行添加到您的init.el
:
(setq scroll-error-top-bottom t)
来自C-h v scroll-error-top-bottom
:
在发出滚动错误信号之前将点移动到缓冲区的顶部/底部。nil 值意味着如果不再可能滚动,则仅发出错误信号。 t 值表示当不再可能滚动时点移动到缓冲区的开头或结尾(取决于滚动方向)。 当点已经在该位置时,发出错误信号。
这是没有 CUA 或密钥重新映射的标准解决方案。
该cua
模式提供了一个cua-scroll-up
执行此操作的命令。有几种使用方法:
activate cua-selection-mode
,不仅可以获得这种滚动行为,还可以获得 CUA 的大量改进。这是我推荐的解决方案。只需将其放入您的 init 文件(.emacs
或.emacs.d/init.el
)中:
(cua-selection-mode +1)
仅从 cua 导入滚动行为:
(require 'cua-base)
(global-set-key [remap scroll-up] 'cua-scroll-up)
(global-set-key [remap scroll-down] 'cua-scroll-down)