如何使Emacs的新评论行以'*'开始,以便评论c?

问题描述:

对于以下C注释(^是光标)如何使Emacs的新评论行以'*'开始,以便评论c?

/* 
* foo bar^ 

如果我推bar后光标进入,我得到

/* 
* foo bar 
^ 

但我想有

/* 
* foo bar 
*^ 

我该怎么办?

有一个功能可以做你想做的事'c-context-line-break

您可以添加以下到您的.emacs以获得所需的行为:

(eval-after-load "cc-mode" 
    '(define-key c-mode-base-map (kbd "RET") 'c-context-line-break)) 

现在,这将要求您输入*第二行(你开始与* foo bar,但以后每次RET将自动将*置于原地

似乎结合这两种资源可以帮助您解决问题:

http://www.gnu.org/software/emacs/manual/html_node/emacs/Multi_002dLine-Comments.html

http://emacswiki.org/emacs/AutoFillMode

M-Ĵ继续当前注释。并且每页:

当自动填充模式打开时,输入注释时通过填充列旁边的注释也会继续注释,与显式调用M-j的方式相同。

在第二个链接中有几个选项。最简单的两个:
M-x auto-fill-mode
现在就启用它为这个文件。或者将其添加到您的.emacs文件中:
(add-hook 'text-mode-hook 'turn-on-auto-fill),使其始终处于激活状态。

在链接theres的例子使它可以切换,让它问你新的文件和更多。

+0

感谢您的回答。我实际上已启用自动填充模式,但仍需使用'Mj'继续评论......我该怎么办? – xuhdev

M-j运行命令c-indent-new-comment-line。