Emacs模式多行注释

时间:2009-01-31 17:27:06

标签: emacs elisp

在emacs模式下定义多行注释的正确方法是什么 (比如C's / * * /)?我看到的elisp示例是用于以单个分隔符开头并以行尾结束的注释(如C ++的//或perl的#)。

3 个答案:

答案 0 :(得分:15)

就是这样:

(define-derived-mode my-mode
    awk-mode "my"
    "My mode"
  (setq comment-multi-line nil) ; maybe
  (setq comment-start "/* ")
  (setq comment-end "*/"))

但有微妙之处;也许你想要

/*  line one   */
/*  line two   */
/*  line three */

或者你想要

/*  
    line one
    line two
    line three
*/

comment-style的影响,您可以自定义M-x customize-variable comment-style。对于类似第一个示例的内容,请选择indent,对于第二个示例,extra-line

这一切都在newcomment.el中定义,如果你M-x describe-variable comment-start,你可以阅读。

答案 1 :(得分:3)

汤姆的回答包括创建评论;如果您希望模式知道注释,则需要修复语法表。

相关阅读:

http://www.gnu.org/software/emacs/elisp/html_node/Syntax-Tables.html#Syntax-Tables

答案 2 :(得分:3)

这是将评论goo添加到emacs模式的绝佳指南。 http://xahlee.org/emacs/elisp_comment_handling.html