当前位置:  开发笔记 > 开发工具 > 正文

切换语句后的Emacs缩进缩进

如何解决《切换语句后的Emacs缩进缩进》经验,为你挑选了1个好方法。

现在标准的emacs缩进的工作原理如下:

switch (cond) {
case 0: {
  command;
}
  break;
}

我想休息一下; 与案件排队.

此外,某处有c-set-offset命令列表吗?



1> Trey Jackson..:

定制缩进的最大帮助(我发现)是弄清楚cc模式用于缩进当前行的内容.这就是C-c C-o又名M-x c-set-offset可以做的 - 它允许你自定义语法元素的偏移量,它会显示当前行使用的元素!

以下是您可以自定义的方法.将光标移动到该break;行.

C-c C-o RET 0 RET

此时,您的代码将缩进为:

switch (cond) {
case 0: {
  command;
}
break;
}

有关偏移的文档,请查看变量的docstring 'c-offsets-alist

C-h v c-offsets-alist RET

同样,您可以将其添加到.emacs:

(setq c-offsets-alist '((statement-case-intro . 0)))

自定义缩进的文档在这里,值得一读.有很多方法可以做到这一点,因此阅读手册是值得的(如果你想要非默认缩进).这里是指向cc模式中使用的所有语法符号的指针.


我不知道这个答案是否对OP有用,但它确实对我而言.我一直对emacs坚持多年来在块上缩进开口花括号感到恼火.谢谢!
推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有