#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» ниже и выбрать «Отключить второстепенный режим» следующим образом: