emacs中的评论模式

mgi*_*son 12 emacs comments elisp multiline

我通常使用没有任何类型的块/多行注释的语言编程(例如python[ #]和fortran[ c!].).有没有办法在emacs中定义一个允许我输入多行注释的次要模式?我的意思是,它会导致emacs在X行(比如72)之后自动换行文本并自动将注释字符(从当前主要模式中取出)添加到每行的开头?

对不起,如果这是一个非常基本的问题 - 我的elisp技能充其量是最基本的.

Nic*_*out 18

您可以使用以下代码:

(setq fill-column 72)
(setq comment-auto-fill-only-comments t)
(auto-fill-mode t)
Run Code Online (Sandbox Code Playgroud)

这将自动包装文本,仅用于注释,并且每次执行换行时都会插入注释字符.

我只为编程模式设置如下:

(defun my-prog-mode-hook
  (setq fill-column 72)
  (set (make-local-variable 'comment-auto-fill-only-comments) t)
  (auto-fill-mode t))
(add-hook 'prog-mode-hook 'my-prog-mode-hook)
Run Code Online (Sandbox Code Playgroud)

这确保了如果我在非编程模式(如AUCTeX)中打开自动填充模式,所有文本都会被包装,而不仅仅是注释.