我希望以类似于"bsd"
样式的方式在Emacs中缩进我的C ++代码,但有一点不同:访问级别修饰符必须属于它们自己的缩进级别。 (由于我不使用switch
或标签/ goto
,通常可以说以冒号结尾的行必须属于它们自己的缩进级别。)以下是一个示例:
class somewhat
{
private:
int whatever;
public:
void somehow()
{
if (something_about(whatever))
like_this();
else
{
std::cerr << "It is not true that something_about("
<< whatever << ").";
like_that();
}
}
};
如何配置~/.emacs
以反映此偏好?这是我目前的配置:
; No tabs at all.
(setq indent-tabs-width nil)
(setq tab-width 2)
; [C-like languages]-specific configuration.
(setq c-basic-offset 2)
(setq c-default-style "bsd")
; Configuration for other languages.
; ...
答案 0 :(得分:2)
您需要修改access-label
中的c-offsets-alist
缩进。
我建议您使用自己的c-offsets-alist
创建一个新的“样式”并添加如下行:
(access-label . +)
如果您想从bsd
样式派生,您可以执行以下操作:
(c-add-style "modified-bsd"
'("bsd"
(c-basic-offset . 2)
;;...MORE MODS...
(c-offsets-alist
(access-label . +))))`
另外,我是如何找到要修改的偏移量的?转到相关的代码行,然后按
C-c C-s 以显示CC模式的句法分析。另请务必查看c-offsets-alist
的帮助。