Sunday, December 21, 2008

关于在Emacs中注释代码

以前在用Emacs写注释的时候, 用M-;在C/C++里都是在行尾插入"// ", 然后我就可以很方便地添加注释了. 可今天很神奇, 突然就从"// "变成"/* */"了, 这样很是不爽. 看了下Emacs的帮助文档, 发现无论是"// ", 还是"/* */", 都是由两个变量来控制的. 一个叫做comment-start, 另一个是comment-end, 分别控制开头和结尾. 比如说"/* */"这个, 它的comment-start就是"/* ", 而comment-end则是" */". 所以只需要在我的配置文件的C Mode里面添加下面两行就行了:
(setq comment-start "// ")
(setq comment-end "")

另外在看帮助的时候, 又学到了一招. 比如说下面的情况:
/*
* ...
*/
光标在中间那行, 当我输入完注释以后回车想输入下一行, 却发现Emacs不会自动跳到相应的位置并且添加那个星号, 在Vim里就可以. 难道Emacs不支持? 其实不是, 你不需要使用回车来换行, 当你想要输入下一行注释时, 按M-j就行了, 效果和Vim中是一样的, 呵呵~

P.S. 之所以用Emacs来写注释, 一是因为M-;这样按着很爽很方便, 还有一个就是那些注释会对得很整齐, 以前不知道这是为什么, 今天发现原来也是因为一个变量的缘故: comment-column. 这个变量的默认值是32, 每行注释都会从32列开始, 所以会很整齐了.

No comments:

Post a Comment