C++ Emacs缩进模板类/函数
有人知道如何禁止emacs在模板子句之后缩进函数或类的名称吗 目前的结果是:C++ Emacs缩进模板类/函数,c++,templates,emacs,C++,Templates,Emacs,有人知道如何禁止emacs在模板子句之后缩进函数或类的名称吗 目前的结果是: template <typename T> class A { /* ... */ }; 我不知道,但我想你的模式会有所不同。您正在以什么模式编辑?我假设c++模式是因为您将c++作为标记 对我来说,在c++模式下,结果是这样的: template <typename T> class A { /* ... */ }; 模板 甲级{ /* ... */ };
template <typename T>
class A {
/* ... */
};
我不知道,但我想你的模式会有所不同。您正在以什么模式编辑?我假设c++模式是因为您将
c++
作为标记
对我来说,在c++模式下,结果是这样的:
template <typename T>
class A {
/* ... */
};
模板
甲级{
/* ... */
};
缩进注释,但<代码>类A<代码>未缩进。
< P>对于Emacs C++模式,缩进有不同的样式。p> 更知名的C风格的部分列表:- “gnu”:gnu项目的默认样式
- “k&r”:C的作者克尼根和里奇在他们的书中使用了什么
- “bsd”:bsd开发人员使用的,也就是Eric Allman之后的“Allman风格” “StruouTUP”:C++作者Stroustrup在<
- “linux”:linux开发人员用于内核开发的内容
- “python”:python开发人员用于扩展模块的内容
- “java”:java模式的默认样式(见下文)
- “用户”:当您想要定义自己的样式时
c-default-style
变量是您需要更改的。也许其中一个就是你所需要的。现在没有Emacs,因此我无法将其签出。需要检查以下几项:
<>我在C++模式下编辑C++ .h文件而不是C++模式时遇到了类似的问题。默认情况下,.h文件是C模式,而不是C++模式。你可以通过在窗口底部的括号中寻找“C++”或“C++”来检查这个问题。
(setq auto-mode-alist (append '(("\\.h\\'" . c++-mode)
)
auto-mode-alist
))
要检查的另一件事是如何设置c-default-style。“CC模式”的信息页面详细介绍了所有可能性。转到
类
行,点击选项卡
执行(未经请求的)缩进。然后按Control-CControl-O
显示最上面的intro cont `
的缩进模式
按ENTER
,然后可以更改缩进编号(例如3到0)
在.emacs
的末尾,您可以永久设置该指令:
(c-set-offset 'topmost-intro-cont 0 nil)
你在.emacs中写了什么吗?默认情况下,我会得到你要的那个。我启动了emacs-Q。@vpit3833我编辑了这个问题以使情况更清楚。非常感谢。我已经选择了C++的缩进风格java,并使用<代码> C-OffStistalist对它进行了自定义。我想知道是否有可能对templateshow执行同样的操作我是否按^C^o?谢谢
(setq auto-mode-alist (append '(("\\.h\\'" . c++-mode)
)
auto-mode-alist
))
(c-set-offset 'topmost-intro-cont 0 nil)