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

Сегодня я получил свой новый компьютер (Win 7, 32-разрядная версия) и установил Vincelt Goulets Emacs. Единственное, что я сделал, это обновил org-mode.

Теперь я застрял с auto-fill-mode каждый раз, когда запускаю новый emacs, который я ненавижу. Я хочу отключить auto-fill-mode сейчас и навсегда. Я даже удалил свой файл .emacs, но auto-fill-mode все еще был включен.

Единственным решением, которое сработало, было (а) неприятный обходной путь или (б) всегда набирать M-x auto-fill-mode каждый раз, когда я заново запускаю emacs.

Я был бы очень рад услышать любые решения.


Чтобы было ясно, единственное, что содержит текущий файл .emacs, это: '(inhibit-startup-screen t)


person Henrik    schedule 26.03.2012    source источник


Ответы (3)


Добавьте в свой .emacs,

(auto-fill-mode -1)

Если есть крючки для определенных режимов, вам также нужно будет их отключить. Я подозреваю, что на самом деле у вас не включен режим автозаполнения по умолчанию во всех режимах, но с предоставленной вами информацией, по крайней мере, это должно быть отправной точкой.

Разумной гарантией было бы также отключить режим автозаполнения из `text-mode-hook':

(remove-hook 'text-mode-hook #'turn-on-auto-fill)

Вам может понадобиться что-то подобное и для других режимов.

person tripleee    schedule 26.03.2012
comment
text-mode-hook сделал свое дело. К сожалению, простое отключение auto-fill-mode не помогло. Итак, emacs Винсента Гуле автоматически загружает auto-fill через text-mode. Большое спасибо. - person Henrik; 27.03.2012
comment
Вы также можете изменить это, используя M-x customize-variable, text-mode-hook. Снимите флажок, обязательно нажмите «Сохранить» для будущих сеансов. - person Tim Harper; 14.09.2012
comment
Это не помогло с Aquamacs :( Однако с Aquamacs работало следующее: (remove-hook 'text-mode-hook 'auto-detect-wrap) (Обратите внимание, что может иметь другие эффекты с настройкой автоматического переноса слов?) - person Touko; 02.04.2015

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

Вы можете просто отключить режим глобально в вашем .emacs файле:

(turn-off-auto-fill)
;; ...or (auto-fill-mode -1)

Так как Emacs того года также включает автозаполнение для text-mode, добавьте:

(remove-hook 'text-mode-hook 'turn-on-auto-fill)

Это должно учитывать все места по умолчанию, но проверьте основные режимы, если у вас есть другие режимы, позволяющие это автоматически.

person Daniel Pittman    schedule 26.03.2012
comment
Я добавил оба из них в свой ~/.emacs (я использую Aquamacs), и они не работают, по крайней мере, с моей настройкой. - person Matthew Cornell; 16.12.2015
comment
Та же проблема, что и у человека выше. Может быть, это особенность Aquamacs - person Chill2Macht; 05.03.2018

Если вы хотите оставить его включенным в большинстве text-mode и отключить auto-fill в определенных режимах, например. org-mode в моем случае вы могли бы использовать следующее:

;; turn on auto-fill for text-mode
(add-hook 'text-mode-hook 'turn-on-auto-fill)
;; turn off auto-fill for org-mode
(add-hook 'org-mode-hook 'turn-off-auto-fill)
person oracleyue    schedule 24.04.2017