Biblioteca ucs-cmds.elpode ajudar.
Ele fornece uma macro, ucsc-make-commandspara criar rapidamente um conjunto de comandos que inserem caracteres Unicode. Você fornece uma regexp, que é comparada com todos os nomes de caracteres Unicode (pol ucs-names). Um comando de inserção é criado para cada um dos caracteres cujo nome corresponde. (Os nomes dos comandos são essencialmente os mesmos que os nomes dos caracteres - veja abaixo.)
Criações de comando de amostra:
(ucsc-make-commands "^math") ; Math symbols
(ucsc-make-commands "latin") ; Latin alphabet characters
(ucsc-make-commands "arabic")
(ucsc-make-commands "^cjk") ; Chinese, Japanese, Korean characters
(ucsc-make-commands "^box drawings ")
(ucsc-make-commands "^greek [a-z]+ letter") ; Greek characters
(ucsc-make-commands "\\(^hangul\\|^circled hangul\\|^parenthesized hangul\\)")
Esta é a sequência de documentos:
ucsc-make-commands is a Lisp macro in `ucs-cmds.el'.
(ucsc-make-commands REGEXP)
Create commands to insert Unicode characters whose names match REGEXP.
Letter case is ignored for matching.
The set of char names used is taken from `ucs-names'. There are
*many* such chars, so consider using a tighter regexp to limit the
number of commands created.
The commands created have the same names as the chars they insert,
except that `SPC' chars in the character names are replaced by
hyphens (`-'), and the command names are lowercase.
Se você quiser vincular os comandos criados às chaves de maneira sistemática, poderá criar facilmente uma macro com base no código, para ucsc-make-commandsque ambos criem os comandos desejados e os vinculem. A macro ucsc-make-commandsapenas itera sobre todos os carros Unicode e cria comandos para aqueles cujos nomes correspondem ao REGEXPargumento.
Durante uma iteração, você tem acesso ao nome do personagem e seu ponto de código. Descobrir um mapeamento regular conveniente de pontos de código ou nomes de caracteres para chaves, e sua macro pode adicionar os define-keys apropriados , além dos comandos defuns.
A biblioteca também fornece um comando,, ucsc-insertque pode substituir o comando vanilla
insert-char. O comportamento e o código de ucsc-insertsão idênticos aos de
insert-charexceto pelo que acontece quando você usa um argumento de prefixo negativo:
Ele age como se o valor do prefixo-arg fosse positivo. Portanto, um valor de -3 insere três cópias do caractere, assim como 3.
Além de inserir o caractere, ele define um comando que você pode usar posteriormente para inserir esse caractere. Você pode usar um argumento de prefixo com esse comando para inserir várias cópias do caractere especificado.
Isso fornece um comando personalizado para inserir um determinado caractere Unicode. Em seguida, você pode vincular o comando a uma sequência de teclas, adicionando efetivamente caracteres Unicode ao teclado.
Sempre que insert-charfaz alguma coisa (não faz nada para um prefixo negativo arg), ucsc-insertfaz a mesma coisa. Devido a isso, você pode ligar ucsc-insertpara C-x 8 RETcomo um substituto para insert-char:
(define-key global-map [remap insert-char] 'ucsc-insert)
Se você precisar de apenas alguns desses comandos para inserir caracteres Unicode específicos, usar ucsc-insertpara defini-los é suficientemente conveniente. Se você precisar de muitos desses comandos, a macro ucsc-make-commandsé sua amiga.