【问题标题】:Emacs - Getting PgDn to End of BufferEmacs - 让 PgDn 到缓冲区结束
【发布时间】:2013-06-10 07:47:15
【问题描述】:

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

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

【问题讨论】:

  • 我在询问之前就知道了这一点,但看起来它会将标记移动到缓冲区末端。我真的只是想调整 PgDn 让它按照我的预期去做,如果我碰巧到达缓冲区的末尾。
  • 我的意思是,你可以一直使用 PgDn 直到你快到最后,然后 M-> 一直走。 PgDn 绑定到 scroll 命令,而不是跳转命令,因此当缓冲区的末尾已经可见时,它不会进一步滚动是有意义的。

标签: emacs scroll


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    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)
      

    【讨论】:

    • 感谢您的快速回复!不幸的是,我对 emacs 还很陌生,以前没有看过或尝试过 Cua 模式。
    • @mellowmaroon 您应该知道,CUA 模式会更改键绑定,而不仅仅是滚动。
    • @lunaryorn cua-selection-mode 仅更改滚动和矩形选择行为。其他一切都保持不变。但你是对的:完整的 CUA 模式几乎改变了一切(这就是我不推荐它的原因)
    • @Francesco 哦,抱歉,我错过了 cua-selection-mode 部分。忘记我的评论......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 2013-01-16
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多