Grande pergunta. Juri Linkov estava falando sobre implementar isso para o Emacs, mas nada aconteceu até agora. Veja estes dois tópicos de bug do Emacs:
Veja esta parte do primeiro tópico do bug , por exemplo. Inclui este código de Ulrich Mueller:
(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))
UPDATE
A dobra de caracteres (capacidade de abstração de acentos e tal, quando pesquisar) estará disponível no Emacs 25. Veja o NEWS
( C-h N
) em uma compilação de desenvolvimento do Emacs 25. Essa é uma adição bem-vinda e promete ser aprimorada em versões futuras.
Minha biblioteca character-fold+.el
é um possível aprimoramento disponível agora. Ele permite que você pesquise opcionalmente não apenas os caracteres acentuados (por exemplo, é
) digitando o caractere base (por exemplo, e
), mas também o inverso - digite um conjunto de caracteres equivalentes para procurar eles. E permite personalizar a dobra de caracteres adicionando suas próprias classes de equivalência (e editando aquelas definidas pelo Emacs, além daquelas para diacríticos).
Aqui é uma mensagem para [email protected]
sobre isso.