假设您编写了一些这样的代码(使用ruby-mode,但我也看到过这种情况也会发生在其他模式中):
# This is a comment. def foo puts "foo!" end
如果你把点放在第一行并点击Mq,你得到这个:
# This is a comment. def foo puts "foo!" end
我该如何避免?我使用的是版本21.3.
澄清:当我在注释和代码之间添加一个空行时,不会发生这种情况.作为一个解决方法,当我想重新填写我的评论时,我会经历一个恼人的三步过程:
我在评论段落之前和之后添加了一个空行
MQ
删除空白行
如果Mq处理重新填充评论段落而不必添加和删除空行,那就更好了.Emacs已经知道哪些文本是评论文本,所以必须有办法做到这一点.
filladapt.el诀窍.使用最新版本的RubyMode.
使用这两个包解决了你所看到的Mq问题.(使用GNU Emacs 22.1)
看一下ruby-mode的代码,看起来它已经定制了变量来控制段落填充,如下所示:
(make-local-variable 'paragraph-start) (setq paragraph-start (concat "$\\|" page-delimiter)) (make-local-variable 'paragraph-separate) (setq paragraph-separate paragraph-start) (make-local-variable 'paragraph-ignore-fill-prefix) (setq paragraph-ignore-fill-prefix t)
可以将其添加到当前ruby的自定义挂钩中,或者您希望填充行为按照您的描述操作的任何主要模式 - 只要您使用filladapt.el.