Как включить режим автозаполнения emacs только для комментариев кода?

я пытался

(set (make-local-variable 'comment-auto-fill-only-comments) t)

а также

(auto-fill-mode 0)

Удивительно, но ни один из них не работает после перезапуска emacs.

Я использую стартовый набор emacs от eschulte

Переключение отлично работает с режимом автозаполнения M-x.


ОБНОВЛЕНИЕ

Используя комбинацию (спасибо Реми):

(auto-fill-mode 1)
(setq comment-auto-fill-only-comments t) 

Он отлично работает в файлах программирования, где есть комментарии. Однако в текстовом режиме он автоматически заполняется везде.

Как я могу полностью отключить режим автозаполнения внутри текстовых документов?


person tobeannounced    schedule 18.12.2010    source источник
comment
Emacs имеет подробную онлайн-документацию. Может быть полезно использовать describe-function, describe-variable, чтобы узнать, как можно использовать функцию, переменную.   -  person jfs    schedule 18.12.2010
comment
попробуйте describe-variable, это может показать вам, что comment-auto-fill-only-comments не то, что вы думаете. Если это так, то, возможно, после того, как вы установили значение, запускается хук, который топает ваше значение.   -  person Cheeso    schedule 22.12.2010


Ответы (1)


Если вы хотите, чтобы Emacs автоматически заполнял комментарии, вы не должны делать comment-auto-fill-only-comments локальной переменной:

(setq comment-auto-fill-only-comments t)

Если вы хотите, чтобы это было только в каком-то режиме, но не во всех, вам нужно добавить его в правильный хук:

(add-hook 'ruby-mode-hook 
          (lambda () ((set (make-local-variable 'comment-auto-fill-only-comments) t)))

ОБНОВИТЬ ответ

Чтобы удалить автозаполнение из текстового режима, вы должны использовать хук:

(add-hook 'text-mode-hook 
          (lambda () (auto-fill-mode -1)))

Обратите внимание, что это также изменит состояние автозаполнения в режиме, производном от текстового режима (один из примеров — латексный режим, существует множество других таких режимов).

person Rémi    schedule 18.12.2010
comment
Спасибо - на мой вопрос было опубликовано обновление - оно частично решено, но некоторые проблемы остаются. - person tobeannounced; 22.12.2010