C++ 更改'中选项卡的计数;案例';在c++;模式

C++ 更改'中选项卡的计数;案例';在c++;模式,c++,emacs,coding-style,C++,Emacs,Coding Style,我将emacs上的编码样式更改为BSD,现在看起来是这样的: switch(a) { case TYPEvar: return x(node); } switch(node->type) { case TYPEvar: return walk(node); } 我想在案例之前添加一个选项卡,如下所示: switch(a) { case TYPEvar: return x(node); } switch(node->type) { cas

我将emacs上的编码样式更改为
BSD
,现在看起来是这样的:

switch(a)
{
 case TYPEvar:
    return x(node);
}
switch(node->type)
{
  case TYPEvar:
       return walk(node);
}
我想在
案例
之前添加一个选项卡,如下所示:

switch(a)
{
 case TYPEvar:
    return x(node);
}
switch(node->type)
{
  case TYPEvar:
       return walk(node);
}
我需要在.emacs中更改什么?我尝试(我不使用emacs lisp)在以下位置更改
选项卡宽度

(setq-default c-basic-offset 2
          tab-width 2
          indent-tabs-mode t)

但它没有改变任何内容。

若要仅对当前缓冲区执行此操作,请转到包含
大小写的行并执行C-cC-o,它将提示您输入要更改其缩进的语法符号enter/select
大小写标签
(这是默认选择的)。然后输入缩进值,输入所需的缩进

上面设置了当前缓冲区的缩进。要设置所有缓冲区的缩进,可以使用
c-mode-common-hook
,如下所示

(add-hook 'c-mode-common-hook (lambda ()
                                (add-to-list 'c-offsets-alist '(case-label . 2))))

很抱歉。谢谢另外,我是否可以将此更改应用于尚未使用此新样式缩进的自动缩进文件?您可以编写一些elisp代码。像
(setq files'(“~/test.c”)(dolist(file files)(使用当前缓冲区(find file file)(标记整个缓冲区)(为tab命令缩进)(save buffer)(kill buffer))
应该在
files
是要缩进的文件列表的地方执行工作。虽然我没有测试过,但要小心!