switch…case语句的Emacs缩进

switch…case语句的Emacs缩进,emacs,switch-statement,indentation,Emacs,Switch Statement,Indentation,Emacs中的缩进总是有效的,但我面临一些关于switch-case语句的问题 比如说, switch (x) { case 'A': case 'B': printf("hello"); printf(...); printf(...); break; } 我希望它以这种方式显示: switch (x) { case 'A': case 'B': printf("hello"); printf(...); printf(...); break; }

Emacs中的缩进总是有效的,但我面临一些关于switch-case语句的问题

比如说,

switch (x) {
case 'A':
case 'B':
    printf("hello");

printf(...);
printf(...);
break;
}
我希望它以这种方式显示:

switch (x) {
case 'A':
case 'B':
    printf("hello");

    printf(...);
    printf(...);
    break;
}
如何?

在缓冲区中:

`M-x c-set-style` RET `k&r` RET
在.emacs文件中:

在缓冲区中:

`M-x c-set-style` RET `k&r` RET
在.emacs文件中:


最后,我发现:


将光标放在case关键字上。然后C-C-o。然后应该说一些类似语法符号的东西来改变:case-label。点击RET。然后输入您希望案例标签缩进的默认空格数。

最终解决了这个问题:


将光标放在case关键字上。然后C-C-o。然后应该说一些类似语法符号的东西来改变:case-label。点击RET。然后输入您希望案例标签缩进的默认空格数。

您应该提到您使用的模式。在c模式、c++模式、java模式和javascript模式下对我有效。您应该提到您使用的是哪种模式。在c模式、c++模式、java模式和javascript模式下对我有效。对于其他选项,M-x也适用于c风格列表。或者只是用tab键在c-set-style交互命令中查看它们的列表。它不起作用。以下是我的配置:defun c-like-style c-set-style K&R setq tab width tab setq c-basic-offset tabwidth hs minor mode 1本地设置键kbd RET'reindent然后换行和缩进;使用C-j本地设置键kbd C-C。r'ecb重建方法缓冲区本地设置键kbd C-C C-f'eassist-switch-h-cpp本地设置键[?\C-]'语义ia快速跳转添加钩子'C模式钩子'C风格添加钩子'C++-模式钩子'C风格添加钩子'java模式钩子'C风格添加钩子'jde模式钩子'C风格添加钩子'-style@user915203,该等资料应包括在问题内,除其他非默认设置外,请使用emacs-q甚至emacs-no site init确认问题出在您的设置上,而不是站点的安装上。对于其他选项,请使用M-x apropos c-style-list。或者只是用tab键在c-set-style交互命令中查看它们的列表。它不起作用。以下是我的配置:defun c-like-style c-set-style K&R setq tab width tab setq c-basic-offset tabwidth hs minor mode 1本地设置键kbd RET'reindent然后换行和缩进;使用C-j本地设置键kbd C-C。r'ecb重建方法缓冲区本地设置键kbd C-C C-f'eassist-switch-h-cpp本地设置键[?\C-]'语义ia快速跳转添加钩子'C模式钩子'C风格添加钩子'C++-模式钩子'C风格添加钩子'java模式钩子'C风格添加钩子'jde模式钩子'C风格添加钩子'-style@user915203,该等资料应包括在问题内,以及任何其他非默认使用Emacs - Q或甚至Emacs -没有站点init来确认问题是与您的设置,而不是与网站的安装。但情况标签已经根据需要-问题是在空白行后的语句。哦,对。哎呀。不管怎样,case标签真的不应该有这样的缩进吗?看起来像通常的GNU样式——所有的标签都包含了1个级别的标签。但是情况标签已经被要求了——问题是在空白行之后的语句。哦,对了。哎呀。不管怎么说,大小写标签真的应该没有那样的缩进吗?看起来像通常的GNU样式-所有标签包括大小写标签都超过1级。