Emacs 如何定义主模式的注释语法?

Emacs 如何定义主模式的注释语法?,emacs,comments,dot-emacs,Emacs,Comments,Dot Emacs,我想在当前不支持的主模式中添加注释。我能在网上找到的唯一例子显示了如何写,但我需要成对的分隔符 我需要改变什么?我最终深入到了我正在使用的软件包的elisp中。问题是如果你加上 (setq comment-start "FOO") (setq comment-end "BAR") 到您的模式挂钩,然后,当您切换到另一种定义注释开始但不定义注释结束的语言时,您的注释结束将从另一种模式粘住。例如,您的python模式注释如下所示: # def my_func(): BAR 这绝对不是你想要的。要

我想在当前不支持的主模式中添加注释。我能在网上找到的唯一例子显示了如何写,但我需要成对的分隔符


我需要改变什么?

我最终深入到了我正在使用的软件包的elisp中。问题是如果你加上

(setq comment-start "FOO")
(setq comment-end "BAR")
您的模式挂钩
,然后,当您切换到另一种定义
注释开始
但不定义
注释结束
的语言时,您的
注释结束
将从另一种模式粘住。例如,您的
python模式
注释如下所示:

# def my_func(): BAR
这绝对不是你想要的。要解决此问题,请使用以下方法:

(add-hook 'your-mode-hook
          (lambda ()
            (set (make-local-variable 'comment-start) "FOO")
            (set (make-local-variable 'comment-end) "BAR")))

而且它不会影响其他模式的注释结束

您使用哪个命令进行注释/取消注释?
M-
,我相信它一定会绑定到
注释区域
。扩展链接到的示例,除了
注释开始
之外,您只需设置
注释结束
变量。不起作用<代码>精彩注释语法此行FOO BARwtf ifthis@user3995789对不起,我不知道你是什么意思?这太棒了@PatrickCollins。但是,当我取消注释时,注释结束值仍然保留。我该怎么阻止这一切?