Мной уже была разобрана тема проверки орфографии в emacs с помощью hunspell. Однако при использовании обнаружилась проблема.
Этот выбор из вариантов доступен, когда нажимается средняя кнопка мыши. А что еще на средней кнопки в Xorg-сервере? Вставка текста из специального буфера. Работает он следующим образом: где-то выделили текст, а в другом месте вставили его с помощью средней кнопки мыши. Получается следующая ситуация при использовании flyspell-mode в emacs:
- Наводим на неправильное слово курсор.
- Жмём среднюю кнопку мыши и выбираем из списка подходящий вариант.
- Происходит вставка текста из буфера обмена.
- Слово заменяется на сделанный выбор.
- На выходе белеберда.
Переназначаем кнопку мыши для коррекции слова в flyspell-mode
Со средней, на правую:
;;после загрузки flyspell
(eval-after-load "flyspell"
'(progn
;;убираем шоткей со средней кнопки мыши
(define-key flyspell-mouse-map [down-mouse-2] nil)
;;это уже не обязательно, но чтобы наверняка
(define-key flyspell-mouse-map [mouse-2] nil)
;;опять же, для надежности
(define-key flyspell-mouse-map [button2] nil)
;;назначаем коррекцию на правую кнопку мыши
(define-key flyspell-mouse-map [mouse-3] 'flyspell-correct-word)
)
)
Этот кусочек можно вставить в файл ~/.emacs.