Как изменить строку комментария, используемую областью комментария?

11

Emacs обычно хорошо комментирует регионы, но иногда я хотел бы изменить строку, которую он добавляет, на строки. Например, в LaTeX я бы хотел, чтобы закомментированный регион использовал только одну %на строку вместо двух, т. Е.

% First line of commented region
% Second line of commented region
% Third line of commented region

Вместо того

%% First line of commented region
%% Second line of commented region
%% Third line of commented region

Я предполагаю, что можно просто установить некоторую переменную для latex-modein .emacs.el, но я не смог найти имя переменной. Есть идеи?

карло
источник

Ответы:

12

comment-add:

comment-add - это переменная, определенная в newcomment.el. Его значение равно 1 Local в буфере .emacs; глобальное значение 0

Документация: Сколько еще комментариев должно быть вставлено comment-region. Это определяет значение по умолчанию числового аргумента comment-region. Стиль plainкомментария удваивает это значение.

Обычно это должно оставаться 0, за исключением нескольких режимов, таких как Lisp, где он равен 1, так что регионы комментируются двумя или тремя точками с запятой.

Использование:

(add-hook 'latex-mode-hook (lambda () (setq-local comment-add 0)))

чтобы получить поведение, которое вы хотите.

Я нашел эту переменную с helm-apropos. Вы также можете искать с помощью встроенной команды M-x apropos-variable.

няня
источник
4
Немного больше контекста: строка, вставленная для начала комментария, определяется переменной comment-start, которая для режима латекса %. Как указывает @nanny, переменная command-addиспользуется в таких режимах, как lisp и latex, где по умолчанию используется вставка comment-startстроки несколько раз.
glucas