Como inserir caracteres especiais, como o símbolo Celsius e letras gregas comuns?

15

Eu quero inserir:

  • Símbolo de grau Celsius
  • Carta do grego comum: Alpha, Theta, Omega
usuario
fonte
4
-1: faça alguma pesquisa prévia antes de postar. Uma pesquisa no google por "letras gregas do emacs" exibe o tópico SO apropriadamente intitulado "Como inserir caracteres gregos no Emacs" como o primeiro hit. Uma pesquisa no google por "caracteres especiais do emacs" ou "emacs unicode" exibe tutoriais, o EmacsWiki e o manual.
Dan

Respostas:

14

Se você estiver familiarizado com o TeX, encontrará o TeXmétodo de entrada útil. Apenas faça

M-x set-input-method TeX

depois digite algo como \alpha- ele será substituído pelo caractere Unicode correspondente. Você pode desativar o método de entrada digitando C-\.

Você pode encontrar todos os comandos TeX suportados com

M-x describe-input-method
jch
fonte
Sim, eu conheço algum TeX. Este método também resolveu todo o símbolo matemático de maneira unificada. Obrigado!
Nick
19

A maneira padrão do Emacs de fazer isso é C-x 8 RETseguida pelo ponto de código Unicode (um número natural) ou pelo nome Unicode do caractere. A conclusão está disponível para o nome.

Se você usar os Sincelos da biblioteca , poderá concluir o nome usando partes dele, com vários padrões correspondentes a partes diferentes, se desejar. E você pode ver os próprios personagens, ao lado dos nomes dos candidatos, no buffer *Completions*.

Por exemplo, C-x 8 RET cels S-RETconclui DEGREE CELSIUS 2103 ℃e insere esse caractere ,.

Desenhou
fonte
7

Além disso C-x 8 RET, mencionado aqui, que permite inserir qualquer caractere por nome, C-x 8também possui muitos atalhos para a inserção de caracteres comuns. Nesse caso, C-x 8 oinsere "°". Veja todos comC-x 8 C-h

O C-x 8mapa de teclas também é um bom lugar para definir seus próprios atalhos para inserir os caracteres que você usa com mais frequência. As letras gregas não são vinculadas às chaves por padrão, mas podemos adicioná-las com linhas como

(global-set-key (kbd "C-x 8 a") (lambda () (interactive) (insert "α")))

qual fará a C-x 8 ainserção a GREEK SMALL LETTER ALPHA. Peguei o alfa inicial na global-set-keylinha usando C-x 8 RETe pesquisando "alfa"

erikstokes
fonte
2

Estou usando isso:

(defun helm-insert-char ()
  (interactive)
  (helm :sources
      `((name . "Unicode char name")
        (candidates . ,(ucs-names))
        (action . insert))))
abo-abo
fonte