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