Ответ 1
Вы можете выполнять частичный режим flyspell несколькими способами. Один из них - использовать многорежимный подход, в котором вы определяете несколько режимов в одном буфере, один из которых - режим редактирования комментариев (например), в котором включен режим flyspell. Я использовал это для некоторых языков программирования, но я больше не могу найти конфигурацию, поэтому, я думаю, я больше не использую этот язык. Во всяком случае, см. mmm-mode для получения дополнительной информации.
Второй альтернативой является использование "flyspell-prog-mode" (который видит), который устанавливает режим flyspell для определенных частей буфера, определенный в этом случае шрифтом (существуют конкретные грани для строк и комментариев для большинство основных языков программирования). Он использует функцию обратного вызова предиката, которая может быть определена, но вы хотите ее; Я поддерживаю TNT, который является AIM-режимом для Emacs, и мы используем его следующим образом:
(defun tnt-im-mode-flyspell-verify ()
"This function is used for `flyspell-generic-check-word-p' in TNT."
(not (get-text-property (point) 'read-only)))
(put 'tnt-im-mode 'flyspell-mode-predicate 'tnt-im-mode-flyspell-verify)
(put 'tnt-chat-mode 'flyspell-mode-predicate 'tnt-im-mode-flyspell-verify)
Относительно flyspell против speck против wcheck - я использовал только режим flyspell. speck, похоже, очень ориентирован на то, что можно просмотреть, что может быть хорошо, но, как правило, я хочу, чтобы весь документ, над которым я работаю, был проверен на проверку орфографии, поэтому я бы этого не хотел. wcheck, похоже, является общим интерфейсом для внешней программы; Думаю, вам придется самим использовать его. flyspell можно использовать двумя разными способами: как-вы-тип, который я обычно использую, и "пакетный режим", где сразу проверяется весь регион или буфер. Первое невероятно быстро, и я никогда не нашел причины искать лучший инструмент. Последний может быть медленным, особенно когда много слов с ошибками и документ большой, но я действительно не могу вспомнить, что ему нужно больше 15 секунд. Во время просмотра экрана в течение 15 секунд и ничего не может показаться долгое время, на самом деле это не так. YMMV, конечно.
Итог: я бы придерживался режима flyspell, предполагая, что он соответствует вашим потребностям, конечно.