Отличный вопрос Юрий Линков говорил о реализации этого для Emacs, но пока ничего не вышло. Посмотрите эти две темы об ошибках Emacs:
Посмотрите эту часть первой цепочки ошибок, например. Он включает в себя этот код от Ульриха Мюллера:
(let ((eqv-list '("aAàÀáÁâÂãÃäÄåÅ"
"cCçÇ"
"eEèÈéÉêÊëË"
"iIìÌíÍîÎïÏ"
"nNñÑ"
"oOòÒóÓôÔõÕöÖøØ"
"uUùÙúÚûÛüÜ"
"yYýÝÿ"))
(table (standard-case-table))
canon)
(setq canon (copy-sequence table))
(mapcar (lambda (s)
(mapcar (lambda (c) (aset canon c (aref s 0))) s))
eqv-list)
(set-char-table-extra-slot table 1 canon)
(set-char-table-extra-slot table 2 nil)
(set-standard-case-table table))
ОБНОВИТЬ
Сворачивание персонажей (возможность абстрагироваться от ударений и т.д. При поиске) будет доступно в Emacs 25. Смотрите NEWS
(C-h N
) в сборке разработки Emacs 25. Это долгожданное дополнение, и оно обещает быть улучшено в будущих выпусках.
Моя библиотека character-fold+.el
- одно из возможных улучшений, доступных сейчас. Это позволяет вам при желании искать не только акцентированные символы (например, é
), вводя базовый символ (например, e
), но и делать обратное - набирать любой из набора эквивалентных символов для поиска любого из них. И это позволяет вам настраивать свертывание символов, добавляя ваши собственные классы эквивалентности (и редактируя те, которые определены в Emacs, кроме тех, что для диакритических знаков).
Вот сообщение на emacs-devel@gnu.org
об этом.