Начиная с Emacs 21, появился модуль с именем 'newcomment
, который имеет разные стили комментариев (см. Переменную 'comment-styles
. Этот параметр приближается к тому, что вы хотите:
(setq comment-style 'multi-line)
(Примечание: вы, вероятно, должны сделать эту настройку в 'c-mode-hook
).
Тем не менее, ни одна из настроек не позволяет комментариям выглядеть так, как вы хотите.
Самый простой способ получить желаемое - добавить этот хак:
(defadvice comment-region-internal (before comment-region-internal-hack-ccs activate)
"override 4th argument to be just spaces"
(when (eq major-mode 'c-mode) ; some condition here
(let ((arg (ad-get-arg 4)))
(when arg
(ad-set-arg 4 (make-string (length arg) ?\ ))))))
Текущие настройки для comment-style
всегда приводят к префиксам строк комментариев "*" (если не весь "/ *").
Если у вас нет Emacs 21, я думаю, вы могли бы просто загрузить newcomment.el
из хранилища. Я не знаю, работает ли он как есть в более ранних версиях Emacs, но это может стоить того, хотя обновление Emacs было бы лучшим решением.
Мой хак взломал 'uncomment-region
. Правильным решением будет изменить 'comment-padright
. Это займет немного больше исследований, чтобы не сломать другие вещи. Вышеуказанный хак изменяет только поведение в 'c-mode
(настройте условие по своему вкусу).