像每个 emacs 用户一样,我经常在缓冲区之间切换,并且点(光标)停留在我上次编辑文件的位置非常重要。但是,emacs 时不时会进入一种状态,即在缓冲区之间切换会将该点跳转到不同的位置。也就是说,我在第 3043 行编辑缓冲区 A,我切换到缓冲区 B (Cx b),切换回 A,点现在在第 200 行(或其他)。
我找到的唯一解决方案是重启 emacs(Aquamacs),这显然不太理想。关于如何解决这个问题的任何想法,甚至是 emacs 存储点位置信息的位置?
我的第一个猜测是@legoscia 提到的:同一个缓冲区的多个窗口,具有不同的窗口点。尝试看看这是否不是正在发生的事情。见
除此之外,是的,@Lindydancer 正确地建议您将范围缩小到从emacs -Q
(无初始化文件)开始的可重现的内容。很可能存在 Emacs 错误或 Aquamacs 错误,但您首先必须排除来自您的 init 文件 ( ~/.emacs
) 的其他内容。
缩小范围(例如,如果没有 init 文件就无法重现问题,则递归地对 init 文件一分为二)。然后,如果是 Emacs 问题,请将其报告给 Emacs Dev: M-x report-emacs-bug
。如果它是 Aquamacs,然后将其报告给 Aquamacs 维护人员。
就目前而言,您的问题过于广泛,以至于这里的人们无法提供太多帮助。但是请务必跟进,不仅是为了解决您的问题,而且如果有错误,请报告它并从源头上修复它。
FWIW,我已经提交了一份 Emacs文档错误报告,要求 Emacs 手册更清楚window-point
.