【发布时间】:2012-12-20 04:35:49
【问题描述】:
如果在 GUI 模式下启动 emacs,通常右侧会有一个滚动条。如果我上下拖动滚动条,则光标不会移动,但emacs的视图会根据滚动条的位置发生变化。 有没有办法做到这一点,但不拖动滚动条或鼠标滚动? 顺便说一句,我知道命令:Ctrl+V,M-V,但这并不是我想要的。 我想要这样的效果,看起来你点击emacs窗口并上下拖动它,如果我使用Ctrl+v,ctl+n等命令,光标会改变它的位置,这不是我想要的。
【问题讨论】:
如果在 GUI 模式下启动 emacs,通常右侧会有一个滚动条。如果我上下拖动滚动条,则光标不会移动,但emacs的视图会根据滚动条的位置发生变化。 有没有办法做到这一点,但不拖动滚动条或鼠标滚动? 顺便说一句,我知道命令:Ctrl+V,M-V,但这并不是我想要的。 我想要这样的效果,看起来你点击emacs窗口并上下拖动它,如果我使用Ctrl+v,ctl+n等命令,光标会改变它的位置,这不是我想要的。
【问题讨论】:
我相信你想要的是centered-cursor-mode。无论何时向上或向下滚动,无论是一行、向下/向上翻页还是鼠标,光标都会停留在中间。
【讨论】:
默认情况下,C-v 调用 scroll-up-command,M-v — scroll-down-command。在不带前缀参数的情况下调用时,它们会滚动整个屏幕,但例如 M-2 C-v 会滚动两行 scroll-up。
如果您想要一种更简单的方法,您可以定义自己的命令,使用预定义的参数调用 scroll-up,并将它们绑定到您选择的键。
请注意,只要滚动到足以将光标留在后面,它就会移动。
另一个有用的命令是recenter-top-bottom,绑定到C-l。
【讨论】: