用星星开始每一行?

时间:2016-05-18 08:07:28

标签: emacs doxygen

编辑.dox文件时,第一行后的每一行都需要以空格和星号开头。有没有办法使用emacs自动执行此操作?

以下是一个例子:

/*! \mainpage Introduction to the Framework
 *
 * \section toc On this page:
 * 1. \ref s_mot <br>
 * 2. \ref s_features <br>
 *
 * \section s_mot Motivation
 * This is the introduction.
 *
 * \section s_features Features
 * 
 *
 * \copyright MIT License
 * \warning Boost and Cairo come with their respective licences
 */

2 个答案:

答案 0 :(得分:1)

将缓冲区放在c-modeM-x c-mode)中,并使用c-indent-new-comment-line(绑定到C-M-jM-j)。

答案 1 :(得分:1)

也许不是最佳解决方案,但如果您之后可以添加星号,则可以选择要添加星号的整个区域的前两列并使用 Cx < kbd> r t RET SPACE * RET 。这样做string-rectangle,使" *"填充该区域。

第一次编写文件时这可能没什么问题,但是如果你之后需要添加额外的,非连续的行,可能会有点麻烦。

这是一个更好的方法:

(defun newline-with-asterisk ()
  "Newline and asterisk"
  (interactive "*")
  (insert "
 * "))

(add-hook 'doxygen-mode-hook '(lambda ()
  (local-set-key (kbd "RET") 'newline-with-asterisk)))

假设您的.dox文件使用doxygen-mode,这会绑定 RET 以执行您想要的操作。如果他们使用不同的主要模式,只需将doxygen-mode-hook更改为适当的变量。