从 ;; 更改 emacs 注释标记到 //

Posted

技术标签:

【中文标题】从 ;; 更改 emacs 注释标记到 //【英文标题】:Change emacs comment markers from ;; to // 【发布时间】:2022-01-06 15:58:07 【问题描述】:

当我使用 Emacs 编辑“.s”文件时,我想从“;;”更改注释到 ”//”。我似乎不知道如何更改评论标识符?

例如,当我评论区域时。

更多信息: 我似乎处于 ASM-MODE,这是编辑汇编文件的默认模式。我通过

确定我处于 asm 模式
 (setq auto-mode-alist                                                                                                 
       (append '(("\\.s$"   . asm-mode)auto-mode-alist))

因为汇编程序通常使用 ;作为注释指示器,asm-mode 使用它。但是,由于某种原因,我无法确定 GNU 汇编器(用于 Raspbian 的 GNU Binutils)2.35.2 使用 // 或 @ 或 # 用于 cmets 而不是 ;

因此,我想更改行为,以便当我选择一个区域和 M-X 注释区域时,它使用 // 或 @ 表示 cmets。我不能使用默认的注释字符,我需要将其更改为双斜杠 // 或 at 符号 @

真正的问题是如何在模式中更改默认注释字符?

【问题讨论】:

问题可能更清楚。说出缓冲区处于什么模式,或者您希望它处于什么模式。默认情况下,注释字符和样式取决于主要模式。您对.s 文件拥有或想要的模式应该适当地定义注释。 ; 是 Emacs-Lisp 缓冲区的注释开始字符。 【参考方案1】:

假设.s文件的主要模式是asm-mode,你可以使用模式挂钩来调整评论开始字符串:

(defun my/asm-comment-tweak ()
  (setq-local comment-start "// "))

(eval-after-load "asm"
  (add-hook 'asm-mode-hook #'my/asm-comment-tweak))

将上述内容添加到您的 init 文件应该可以让您打开一个 .s 文件,该文件将位于 asm-mode 中。 asm-mode 完成的最后一件事是运行模式挂钩,它将调用函数 my/asm-comment-tweak:该函数会将缓冲区局部变量 comment-start 设置为您指定的字符串。

这种模式非常很常见:自定义 emacs 中的许多问题都以完全相同的方式解决。您定义一个调整变量的函数,并安排该函数由适当的模式挂钩调用。

【讨论】:

以上是关于从 ;; 更改 emacs 注释标记到 //的主要内容,如果未能解决你的问题,请参考以下文章

mapKit:在用户选择注释标记后执行 segue

javascript 使用jQuery从html获取所有注释标记

从Sharepoint 2010中删除“我喜欢”和“标记”以及“注释”图标

将标记 infoWindow 添加到 Mapbox 注释

Visual Studio 代码:如何自动更改匹配的结束标记

如何在不重新加载页面的情况下更新从 firestore 检索到的标记在我的地图上?