emacs-”的英文缩写;转到函数的开头;不';如果函数包含在命名空间(C+;+;)中,则无法工作 在Emacs中,我使用C-M- A和C-ME来实现C++代码中函数的开始/结束。但是,如果函数被封闭在名称空间中(它只是跳到名称空间封闭的开头或结尾),则此功能将不再工作。有人对此有好的解决方案吗?

emacs-”的英文缩写;转到函数的开头;不';如果函数包含在命名空间(C+;+;)中,则无法工作 在Emacs中,我使用C-M- A和C-ME来实现C++代码中函数的开始/结束。但是,如果函数被封闭在名称空间中(它只是跳到名称空间封闭的开头或结尾),则此功能将不再工作。有人对此有好的解决方案吗?,c++,emacs,namespaces,C++,Emacs,Namespaces,这是一个已知的错误。它已在已发布的Emacs 24.1中修复。了解了。不幸的是,该修复程序从未进行过后端口,而且这种情况不太可能在短期内发生。获取解决该问题的Emacs 24.1是最好的方法。如果您使用的是旧版本的Emacs,一个常见的解决方法是使用预处理器宏 #define NAMESPACE_BEGIN(X) namespace X { #define NAMESPACE_END } NAMESPACE_BEGIN(tools) class Foo { //... };

这是一个已知的错误。它已在已发布的Emacs 24.1中修复。了解了。不幸的是,该修复程序从未进行过后端口,而且这种情况不太可能在短期内发生。

获取解决该问题的Emacs 24.1是最好的方法。如果您使用的是旧版本的Emacs,一个常见的解决方法是使用预处理器宏

#define NAMESPACE_BEGIN(X) namespace X {
#define NAMESPACE_END      }

NAMESPACE_BEGIN(tools)

class Foo {
    //...
};

NAMESPACE_END

这方面的一些实践者还有其他原因。我个人喜欢它阻止默认Emacs设置缩进命名空间代码的方式。

re:vote to close,关于程序员常用软件工具的问题可以接受,谢谢!不过,围绕我的文本编辑器的局限性进行编码的想法真的没有吸引力。