3

我对 Emacs 相当陌生,我想知道如何让 PageDown 键起作用,以便它将点发送到最后一个 PageDown 的缓冲区末尾,而不是仅在 minibuffer 中打印“缓冲区结束”。

如果保持这种行为不变有某种好处,那也将是有趣且有用的信息。

4

2 回答 2

4

设置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 或密钥重新映射的标准解决方案。

于 2013-06-10T11:37:47.750 回答
2

cua模式提供了一个cua-scroll-up执行此操作的命令。有几种使用方法:

  1. activate cua-selection-mode,不仅可以获得这种滚动行为,还可以获得 CUA 的大量改进。这是我推荐的解决方案。只需将其放入您的 init 文件(.emacs.emacs.d/init.el)中:

    (cua-selection-mode +1)
    
  2. 仅从 cua 导入滚动行为:

    (require 'cua-base)
    (global-set-key [remap scroll-up]   'cua-scroll-up)
    (global-set-key [remap scroll-down] 'cua-scroll-down)
    
于 2013-06-10T10:35:56.467 回答