Biblioteca ucs-cmds.el
pode ajudar.
Ele fornece uma macro, ucsc-make-commands
para 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-commands
que ambos criem os comandos desejados e os vinculem. A macro ucsc-make-commands
apenas itera sobre todos os carros Unicode e cria comandos para aqueles cujos nomes correspondem ao REGEXP
argumento.
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-key
s apropriados , além dos comandos defun
s.
A biblioteca também fornece um comando,, ucsc-insert
que pode substituir o comando vanilla
insert-char
. O comportamento e o código de ucsc-insert
são idênticos aos de
insert-char
exceto 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-char
faz alguma coisa (não faz nada para um prefixo negativo arg), ucsc-insert
faz a mesma coisa. Devido a isso, você pode ligar ucsc-insert
para C-x 8 RET
como 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-insert
para defini-los é suficientemente conveniente. Se você precisar de muitos desses comandos, a macro ucsc-make-commands
é sua amiga.