Emacs中的(Ctrl + 上/下)风格滚动

6

我不是指平滑滚动,而是保持光标在一个固定点,并且始终按 ctrl+上/下键一次滚动一个“屏幕”,一次滚动一行(在Eclipse或其他IDE中)。然后,当用户按普通的上/下箭头时,如果需要,屏幕会跳跃以确保光标可见。

不知道这个功能叫什么名字。

Emacs中是否已经实现了此功能?


关于https://dev59.com/Y3NA5IYBdhLWcg3wAI3d#24389433,有什么想法? - jjpikoov
4个回答

5
如上所述,Emacs现在不提供这种功能。尽管可以实现,但目前没有人去做,据我所知[编辑:实际上,看起来我记错了,Martin已经实现了这样的功能,请参见https://lists.gnu.org/archive/html/emacs-devel/2008-02/msg01892.html]。通常的解决方法是使用C-SPC C-SPC放置一个标记,然后在想要返回的位置使用C-u C-SPC。

4

在现代GUI中,光标(点)和视口(窗口)的分离是很普遍的。不幸的是,Emacs显示引擎并不支持这一特性。这不是教条主义,而是技术问题。如果你想编写这个功能,我相信开发团队会欢迎它。

尽管如此,你还是可以学会适应它。

有趣的是,你能够成功地掌控Emacs。对我来说,如果我不至少半途遇到Emacs,它会给我带来痛苦。


1
也许我表达得太浮夸了 :) 但是Emacs非常适合定制。撇开EL不是最好的lisp这一事实,它仍然是一个优秀的例子,说明简洁胜过复杂。 - deprecated

3

Emacs有一个伟大的教义说光标(在Emacs中称为“point”)必须始终可见,因此无法具有您所描述的行为。


2
教条主义,该死的:( 目前为止一切都是以我的意愿弯曲Emacs,而不是让我自己屈从于Stallman。谢谢你的回答。 - deprecated
3
我个人觉得当滚动操作导致光标不可见时非常恼人,所以我对这个原则感到很满意。 :) 此外,请记住Emacs允许您在不同的窗口中访问同一文件,这是我需要快速查看当前文件时经常使用的方法。您可能会在这里的问题中找到更多的想法:http://superuser.com/questions/184340/emacs-how-to-return-to-last-position-after-scroll-page-up-down - pokita

1
我认为你需要的是这个代码片段(来源于EmacsWiki):
(defun gcm-scroll-down ()
  (interactive)
  (scroll-up 1))

(defun gcm-scroll-up ()
  (interactive)
  (scroll-down 1))

(global-set-key [(control down)] 'gcm-scroll-down)
(global-set-key [(control up)]   'gcm-scroll-up)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接