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