(Ctrl+;上/下)-Emacs中的滚动样式

(Ctrl+;上/下)-Emacs中的滚动样式,emacs,scroll,Emacs,Scroll,我指的不是平滑滚动,而是将光标保持在一个固定点上,并始终移动一个“屏幕”,每次移动一行,就像一个(在Eclipse或其他IDE中)按下ctrl+up/down键一样 然后,当按下“向上/向下”按钮时,屏幕会在必要时跳转,以确保光标的可见性 不知道怎么叫它 它已经在Emacs中实现了吗?一个伟大的Emacs教条说光标(“Emacs中的点”)必须始终可见,因此不能有您描述的行为 光标(点)和视口(窗口)的分离在现代GUI中很常见。不幸的是,Emacs显示引擎不允许这样做。这不是教条,只是技术性的。如

我指的不是平滑滚动,而是将光标保持在一个固定点上,并始终移动一个“屏幕”,每次移动一行,就像一个(在Eclipse或其他IDE中)按下ctrl+up/down键一样

然后,当按下“向上/向下”按钮时,屏幕会在必要时跳转,以确保光标的可见性

不知道怎么叫它


它已经在Emacs中实现了吗?

一个伟大的Emacs教条说光标(“Emacs中的点”)必须始终可见,因此不能有您描述的行为

光标(点)和视口(窗口)的分离在现代GUI中很常见。不幸的是,Emacs显示引擎不允许这样做。这不是教条,只是技术性的。如果你想写这个特性,我相信开发团队会欢迎的

但你确实学会了接受它


有趣的是,你取得了如此多的成功,让Emacs服从你的意愿。就我个人而言,我发现,如果我不至少让Emacs半途而废,这会让我感到痛苦。

如前所述,Emacs现在不提供这种功能。它是可以实现的,但是还没有人愿意这么做,AFAIK[编辑:事实上,看起来我记错了,Martin确实实现了这样一件事,见]。通常的解决方法是用C-SPC C-SPC做一个标记,然后当您想返回您所在的位置时使用C-u C-SPC。

我想您要查找的是以下代码片段:


教条,见鬼:(到目前为止,我的教条都是按照我的意愿弯曲Emacs,而不是我自己在Stallman's。谢谢你的回答。好吧,当滚动命令可能导致光标不可见时,我自己感到非常恼火,所以我对这一教条很满意。)此外,请记住,Emacs允许您在不同的窗口中访问相同的文件,这是我通常在需要浏览当前文件时所做的。在这个问题上,你可能会发现更多的想法:也许我表达得太夸张了:)但是Emacs定制是一件非常愉快的事情。撇开EL并不是最好的lisp不谈,它是简洁战胜复杂的一个很好的例子?
(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)