Emacs中默认的C语言排版风格我不太喜欢,估计多数人都想改掉吧,效果如下图
排版格式可以自定义的,这里链接一个别人写的教程:emacs中cc-mode的缩进配置方法详解(原创)
昨天尝试了一下,好像要改的格式还挺多,太不爽了,幸好我开始懒了,然后就找到了这个:Google Code上的一个叫作《Style guides for Google-originated open-source projects》的项目(刚刚知道原来李开复曾称赞过其中的C++规范是地球上最好的),该项目中有多种语言规范,有给Emacs用的C语言排版工具,也有eclipse上C++和Java,此外还有Python、HTML、JavaScript等,有兴趣自己看吧,今天只说Emacs上用的google-c-style.el,其实很简单,下载el文件,放到Emacs的加载路径,配置文件里加上
(require 'google-c-style)
(add-hook 'c-mode-common-hook 'google-set-c-style)
通常这样就完成了,但是在Google C Style里是用空格替换Tab缩进符而且每次缩进2个空格,而我目前工作上的项目里都是用Tab的,排版也都是按照4个空格宽度的,所以要加一些设置
(defun my-c-mode-hook ()
(setq c-basic-offset 4 ;; 基本缩进宽度
indent-tabs-mode t ;; 禁止空格替换Tab
default-tab-width 4)) ;; 默认Tab宽度
(add-hook 'c-mode-hook 'my-c-mode-hook)