编辑.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
*/
答案 0 :(得分:1)
将缓冲区放在c-mode
(M-x c-mode
)中,并使用c-indent-new-comment-line
(绑定到C-M-j
和M-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
更改为适当的变量。