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

Change emacs comment markers from ;; to //

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

比如我在comment-region.

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

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

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

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

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

假设.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))

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

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