我希望PgUpandPgDn键只是向上或向下移动显示文件的内容,但光标(在 Emacs Lingo 中的点)应该保持在原位(在屏幕上)。不幸的是,默认的 Emacs 行为是不同的。默认行为很难描述,但如果你按下PgDn后跟PgUp你不会结束你之前的位置(!)。
这不是一个新问题,在 EmacsWiki 中有一个很好的解决方案,称为sfp -page-up 和 sfp-page- down。
(defun sfp-page-up ()
(interactive)
(setq this-command 'previous-line)
(previous-line
(- (window-text-height)
next-screen-context-lines)))
但是,与cua模式结合使用时存在一个问题,该模式提供(除其他外)移位选择(按下Shift和光标移动键,如←或PgDn开始突出显示选定区域):
cua-mode
不识别重新定义的PgUp/PgDn键,即它们不开始选择。解决方法是先按↑or↓键,然后按PgUp/继续PgDn。
我怎样才能cua-mode
很好地玩耍sfp-page-up/down
?