【问题标题】:Making a new emacs mode: simple comment dwim制作新的emacs模式:简单注释dwim
【发布时间】:2014-05-24 07:04:20
【问题描述】:

我正在为一种语言编写一个简单的主要模式,但在设置 cmets 时遇到了问题。我一直在关注教程:

http://www.emacswiki.org/emacs/ModeTutorial

但是,我不知道如何根据我的需要调整他们的示例注释 dwim,因为定义 cmets 的方式似乎很神秘。在这种语言中,cmets 只是使用散列 (#) 生成的。这与 Perl 或 Bash 相同。我有语法突出显示理解 cmets,但是当我尝试使用该模式时,我可以comment-dwim 我收到“未定义注释语法”错误。我怎样才能制作一个相当聪明的(缩进、块、取消注释)comment-dwim,它只使用哈希标记而不是任何 C 风格的花哨?

【问题讨论】:

  • 你看过 sample-mode.el 吗?

标签: emacs comments elisp mode


【解决方案1】:

为了让comment-dwim 工作,您至少需要指定comment-start 和comment-end。您可以在模式声明正文中执行此操作。

(setq comment-start "#")
(setq comment-end "")

关于变量的文档:

评论开始:

"要插入以开始新评论的字符串,如果没有评论语法,则为 nil。")

评论结束:

"要插入以结束新评论的字符串。 如果 cmets 由行尾终止,则应为空字符串。"

这些变量定义在newcomment.el 定义comment-dwim 等的同一个内置包中。

阅读更多:M-x find-library enter newcomment enter

另外,如果你没有从教程中学到足够的语法表,你应该为“?\#,为“>”指定?\n,这告诉 emacs # 开始一个注释,并且换行结束注释。

【讨论】:

    猜你喜欢
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多