Emacs - 让PgDn结束缓冲区

时间:2013-06-10 07:47:16

标签: emacs scroll

我对Emacs很新,我想知道如何让PageDown键运行,以便它将点发送到最后一个PageDown上缓冲区的末尾,而不是仅仅打印“缓冲区结束”迷你消息。

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

2 个答案:

答案 0 :(得分:4)

通过scroll-error-top-bottomM-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或密钥重映射的标准解决方案。

答案 1 :(得分:3)

cua模式提供cua-scroll-up命令执行此操作。有几种方法可以使用它:

  1. 激活cua-selection-mode,不仅可以获得此滚动行为,还可以获得CUA中的大量改进。这是我建议的解决方案。只需将其放在初始文件(.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)