M-x c-mode suffix is .c, .h, .y (for yacc grammars), or .lex (lex specification files).
M-x C++-mode suffix is .C, .H, .cc, .hh, .cpp, .cxx, .hxx, .c++, or .h++
C 和C++都是调用同一个Emacs lisp package, cc-mode. because C++ mode just has a small number of additional features.注意这里没有M-x cc-mode, cc-mode同样支持objective-c language in Mac os x
M-q 如果你有很多的注释段的话,他会把他们按照标点为分割符进行整合到一块
preprocessor condition ?
{ } 如果你对一个函数的描述结束了,这个时候需要用}来表示结束,如果与它匹配的{在一个屏的话,他们会互闪一下,否则当你敲入}以后,会在mini-buffer里面提示你它到底跟哪个匹配。这种情况前提时}是另起一行的。
Customizing Code indentation style
主要时说如果你对C-style不满意的话,你可以更改或者进行自定义的缩进模式,一般情况下我敢觉还是最好用默认的。你还可以通过.emacs进行默认设置。
M-x c-set-style prompt you for the name of style, 你最好按Tab 它会显示所有的支持模式。
Auto-newline
when auto-newline is enabled, it causes Emacs to add a newline character如果你开启auto-newline的话,emacs会自动插入一个换行符在下面的符号后面。
semicolon ; curly brace {} 部分情况(comma , colon : )
C-c C-a C-toggle-auto-state (c)->(c/a) in mode line
Hungry-delete-key
正常情况下我们输入del键他会一行一行的删除,但是如果设置了hungry-delete-key之后他会把光标所在位置紧挨的空格行全删掉。
C-c C-d c-toggle-hungry-state 它同样是一个toggle,输入以后mode line 会显示(C/h)