как мне отключить Flyspell?

#emacs #flyspell

#emacs #flyspell

Вопрос:

Звучит просто, но я не могу это исправить: я хочу навсегда отключить автоматическую проверку орфографии в emacs. Для моего init.el должна быть простая строка. Кто-нибудь может мне помочь?

Ответ №1:

Выясните, почему он включен в первую очередь (он не включен по умолчанию), затем исправьте это. Это включает либо ваш файл инициализации, либо какой-то общесистемный файл инициализации. Прочитайте об этих файлах: http://www.&nu.or&/software/emacs/manual/html_node/emacs/Init-File.html

Комментарии:

1. Спасибо, я справился с этим 🙂 Я нашел файл под названием «myspell.el» в папке «site-lisp». Там я мог изменить (flyspell-mode t) на (flyspell-mode 0), и это сработало!

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

3. Является ли site-lisp на самом деле локальным для вас? Убедитесь, что вы не отключаете функциональность для других пользователей. Если это только у вас, и вы отключаете только эту часть файла, вы могли бы также полностью удалить этот sexp — удалить «(flyspell-mode t)» вместо замены его на «(flyspell-mode 0)»

4. Я единственный пользователь, так что проблем нет. Я последовал вашему совету и раскомментировал «(flyspell-mode t)». Это работает хорошо. Я вообще не решался удалять файл. Возможно, я когда-нибудь захочу вернуть flyspell обратно. Спасибо всем за вашу помощь 🙂

Ответ №2:

На первый взгляд, самый простой способ, который я вижу, — переопределить функцию:

 (eval-after-load "flyspell"
  '(defun flyspell-mode (amp;optional ar&)))
  

или вы могли бы воспользоваться советом, чтобы заставить аргумент всегда быть равным -1 (см. C-h f turn-off-flyspell ), но это было бы немного сложнее и менее эффективно без уважительной причины.

Если вы хотите знать, что запускает его в первую очередь, вы могли бы использовать M-x debu&-on-entry flyspell-mode , который покажет трассировку стека при вызове функции (q для выхода из отладчика; C-h m для перечисления других команд; M-: (info "(elisp)debu&&er") для получения справки). Используйте M-x cancel-debu&-on-entry для удаления этой точки останова.

Ответ №3:

 (flyspell-mode 0)
  

Комментарии:

1. При всем уважении, это просто не соответствует заданному вопросу. Отключение режима flyspell таким образом никак не предотвращает его повторное включение.

2. Это действительно не сработало в «init.el». Но с помощью пользователя offby1 выше я нашел файл с именем «myspell.el» в папке «site-lisp». Там я мог бы изменить (flyspell-mode t) на (flyspell-mode 0), и это сработало 🙂 Спасибо!

Ответ №4:

Я нашел свой в ~/.emacs.d/usk/text.el

Я удалил блок кода, имеющий отношение к FlySpell, и закрыл emacs.

После повторного открытия emacs я по-прежнему видел орфографическую ошибку (красное подчеркивание). Однако я просто удалил и перепечатал слова с «ошибками», а затем emacs не подчеркнул. Проблема решена.

Я использую Debian.

Ответ №5:

В моем случае flyspell-mode набирает обороты в файле .emacs.desktop.

Это был не первый случай, desktop-mode когда восстановление устаревших вещей вызывает трудности. В этом случае были восстановлены все режимы для каждого файла, хотя в .emacs.el я уже отключил flyspell-mode и flyspell-pro&-mode везде.

Решение: либо отредактируйте файл .emacs.desktop, либо удалите его.

Ответ №6:

Используя графический режим Emacs, вы можете просто щелкнуть правой кнопкой мыши над второстепенным режимом «Fly» ниже и выбрать «Отключить второстепенный режим» следующим образом: