Emacs-将PgDn获取到缓冲区的末尾

Emacs-将PgDn获取到缓冲区的末尾,emacs,scroll,Emacs,Scroll,我是Emacs的新手,我想知道如何让PageDown键发挥作用,以便它在最后一次PageDown时将点发送到缓冲区的末尾,而不是在minibuffer中只打印“缓冲区的末尾” 如果保持这种行为有某种好处,那么这也将是有趣和有用的信息。cua模式提供了一个cua向上滚动命令来实现这一点。有几种方法可以使用它: 激活cua选择模式,不仅可以获得这种滚动行为,还可以获得cua的大量改进。这是我建议的解决方案。只需将其放入init文件(.emacs或.emacs.d/init.el): (cua选择模式

我是Emacs的新手,我想知道如何让PageDown键发挥作用,以便它在最后一次PageDown时将点发送到缓冲区的末尾,而不是在minibuffer中只打印“缓冲区的末尾”


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

cua模式提供了一个
cua向上滚动
命令来实现这一点。有几种方法可以使用它:

  • 激活
    cua选择模式
    ,不仅可以获得这种滚动行为,还可以获得cua的大量改进。这是我建议的解决方案。只需将其放入init文件(
    .emacs
    .emacs.d/init.el
    ):

    (cua选择模式+1)
    
  • 仅从cua导入滚动行为:

    (需要“cua基地”)
    (全局设置键[重新映射向上滚动]“cua向上滚动”)
    (全局设置键[重新映射向下滚动]“cua向下滚动”)
    

  • 通过
    M-x自定义变量RET scroll error top-bottom
    ,或通过将以下行添加到
    init.el
    ,将
    scroll error top-bottom
    设置为非零值:

    (setq scroll-error-top-bottom t)
    
    C-h v滚动错误顶部到底部

    在发出滚动错误信号之前,将点移动到缓冲区的顶部/底部。 值为nil意味着如果不再可能滚动,则仅发出错误信号。 值t表示点移动到缓冲区的开始或结束处 (取决于滚动方向)当无法再滚动时。 当点已经位于该位置时,则发出错误信号


    这是没有CUA或键重新映射的标准解决方案。

    我在询问之前就知道这一点,但它似乎将标记移动到了缓冲区端。我真的只是想调整PgDn,让它在我刚好到达缓冲区末尾的情况下达到我的预期效果。我的意思是,你可以一直使用PgDn,直到快到末尾,然后m->一直使用。PgDn绑定到一个滚动命令,而不是一个跳转命令,因此当缓冲区的末端已经在视线中时,它就不会再滚动了。感谢您的快速响应!不幸的是,我对emacs还很陌生,以前从未看过或尝试过Cua模式。@mellowmaroon您应该知道,Cua模式改变的键绑定不仅仅是滚动。@lunaryorn
    Cua选择模式
    只改变滚动和矩形选择行为。其他一切都不动。但你是对的:完全CUA模式几乎改变了一切(这就是为什么我不推荐它)@Francesco哦,对不起,我错过了CUA选择模式部分。忘记我的评论…