我在Ubuntu 10.04上运行Emacs 24,在默认的c++环境下编写代码。有时候经过一段时间编码后,我的缩进引擎似乎会出现问题——按“tab”键使任何行位于行首。选择整个缓冲区将导致整个缓冲区取消缩进。此问题影响所有缓冲区,包括当前或后来打开的缓冲区。到目前为止,我找到的唯一修复方法是(非常不方便)重启Emacs。是否有其他方式重新启动我的缩进引擎?尝试加载不同的缩进样式无法解决该问题。
我在Ubuntu 10.04上运行Emacs 24,在默认的c++环境下编写代码。有时候经过一段时间编码后,我的缩进引擎似乎会出现问题——按“tab”键使任何行位于行首。选择整个缓冲区将导致整个缓冲区取消缩进。此问题影响所有缓冲区,包括当前或后来打开的缓冲区。到目前为止,我找到的唯一修复方法是(非常不方便)重启Emacs。是否有其他方式重新启动我的缩进引擎?尝试加载不同的缩进样式无法解决该问题。
你读过这个线程吗?
http://lists.gnu.org/archive/html/help-gnu-emacs/2012-09/msg00216.html
听起来您可以通过更新cc-mode来解决问题。
我发现24.3版本也有相同的问题,但是我发现关闭并重新打开受影响的缓冲区也可以解决这个问题。
我发现不平衡的预处理器指令(例如#ifdef等)可能会导致这种行为
#include
特定的头文件(尤其是模板重的头文件)时会出现这种情况;注释掉有问题的#include
或重新启动 Emacs 似乎可以解决这个问题。我留下这条评论来帮助人们尝试隔离这个问题,以便能够得到适当的修复,因为 Emacs 24.3 仍然存在问题。如果我找到了确凿的东西,我会更新的。 - Cornstalks