Como digitar um caractere Unicode por seu número no Emacs?

19

Como digitar um caractere Unicode pelo seu número, por exemplo, 0x2E3Bpara o caractere Unicode U+2E3B(THREE-EM DASH) no Emacs?

qazwsx
fonte

Respostas:

19

No Emacs 23, digite Ctrl + X 8 Enter e, em seguida, o número, seguido de Enter. Aprendi isso com as dicas do Emacs e Unicode , que também descrevem outros métodos (Ctrl + X 8 Enter também pode ser seguido pelo nome Unicode).

Observe que U + 2E38 provavelmente não aparece, a menos que você tenha instalado o Symbola ou Everson Mono e definido um deles como a fonte a ser usada pelo Emacs. Pode haver outras fontes que contenham o caractere, mas a página de suporte à fonte fileformat.info menciona apenas essas duas.

Jukka K. Korpela
fonte
⁺¹ para o link: por algum motivo, eu precisava digitar um caractere com um valor decimal e não queria recalcular todos eles para hexadecimal. (Eu obtive uma saída do Visual Studio, e ele está usando por uma estranha razão notação decimal) No link mencionado no caminho.
Hi-Angel
Esse método parece não funcionar se você precisar digitar o caractere no minibuffer (meu objetivo é fazer uma substituição global). Recebo "tentativa de usar o minibuffer enquanto estiver no minibuffer". A página do link não parece resolver este caso ...
Silvio Levy
4

O método a seguir (encontrado em http://www.emacswiki.org/emacs/QuotedInsert ) funciona mesmo quando o método Cx 8 não funciona (por exemplo, para inserir um caractere no minibuffer). Se você conhece o código hexadecimal, comece definindo read-quoted-char-radix como 16 - por exemplo, você pode digitar (setq read-quoted-char-radix 16) em um buffer temporário, colocar o ponto após os parênteses e bateu Cx Ce. Se você souber o valor decimal, use 10 em vez de 16. Se você souber o valor octal, poderá pular esta etapa.

Em seguida, para realmente inserir o caractere, basta digitar Cq seguido pelo número. (Qualquer caractere não numérico encerrará o número; se, por azar, o caractere precisar ser seguido imediatamente por um dígito, encerre o número usando um espaço e apague o espaço antes de prosseguir.)

Silvio Levy
fonte