2016-05-18 2 views
0

При редактировании файла .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 
*/ 

ответ

1

Поместите буфер в c-mode (M-x c-mode), и использовать c-indent-new-comment-line (обязательно C-M-j и M-j).

+0

Это ставит только пространство. Мне нужно '' * "'. Кроме того, он выделяет весь файл как комментарии «C», что является утомительным, когда нужно работать над этим текстом в течение длительного времени. – AlwaysLearning

+0

Это делает следующую строку похожей на предыдущую строку. Если вы добавите '*' в строку после '/ *!', С тех пор он будет делать правильные вещи. Вы также можете отключить подсветку синтаксиса с помощью 'M-x font-lock-mode'. – jpkotta

1

не является оптимальным решением, может быть, но если вы можете уйти с добавлением звездочки после этого, вы можете выбрать первые две колонки всего региона, где вы хотите добавить звездочку и использовать CxгтRETSPACE *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))) 

Это связывает RET делать то, что вы хотите, предполагая, что ваши .dox файлы используют doxygen-mode. Если они используют другой основной режим, просто измените doxygen-mode-hook на соответствующий варибель.

+0

Я не знал, что существует режим doxygen ... – AlwaysLearning

+0

Я действительно использую doxymacs: http://doxymacs.sourceforge.net/. Однако это не обновлялось. – Yossarian

+0

Как с этим справляется 'doxymacs'? Я ничего не заметил в этом вопросе, связанный с вопросом ... – AlwaysLearning

Смежные вопросы