我遇到了在emacs中使用下一行进行自动滚动的问题。当我到达屏幕的边缘 http://i.stack.imgur.com/lfqEL.png 有时我不会滚动下一行,指针指向CURRENT屏幕的中心,而不是NEXT屏幕。 http://i.stack.imgur.com/FPbuC.png (所以,如果我持有C-n指针将无休止地通过此屏幕运行)
我使用前锋获得相同的内容,有时使用前向页面。我没有得到与前一行自动滚动相同的功能,它运行正常。
我不知道为什么。我只注意到,当我有更长的行,并且屏幕被垂直分割时,这个事情发生得非常快(Cx 3 Cx 3,从我的1000行开始滚动.emasc文件是重现这个bug的快速方法)
Emacs -Q,(setq truncate-lines nil)没有它。 Emacs,(setq truncate-lines t)也没有。
如果您对可能导致此问题的原因一无所知,请回复。
答案 0 :(得分:1)
此问题的一个潜在来源似乎是设置scroll-conservatively
变量。
http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/0a7a9c730c037d57
我注意到,当向下移动大文件时,有时会 光标将从屏幕底部跳到中间。
知道为什么会在某些时候发生这种情况?
因为Emacs的重新显示无法与滚动保持一致。之前 23.1,滚动保守地设置为一个大值,Emacs永远不会 跳下;现在它不会这样做,但有时会失败。我觉得 相关的ChangeLog条目就是这个:
2008-10-27 Chong Yidong
* xdisp.c (try_scrolling): When computing the distance from the scroll margin to PT, try moving some distance past the window bottom before giving up. Juanma
答案 1 :(得分:1)
使用eval-region
2小时后(这个问题不容易重现,带有(next-line) (sit-for 0.01)
的macro / elisp没有产生任何影响,所以我每次都通过持有Cn测试它,使用eval-region
)的二进制搜索方法
所以答案是:
http://www.emacswiki.org/emacs/HighlightParentheses
在*scratch*
中对此进行评估,使用emacs -Q
(setq-default truncate-lines nil)
(setq truncate-partial-width-windows nil)
(add-to-list 'load-path "~/my_path_to_highlight-parentheses_script/")
(require 'highlight-parentheses)
使用长行创建一些缓冲区并使用C-x 3 C-u 5 0 C-x }
然后C-x o M-x highlight-parentheses-mode
缩小它,并按住C-n
是重现错误的方法。
我用亮点括号注释了所有相对的东西,并且bug消失了。我想,我应该找到一种方法告诉开发人员这个错误。