Quando copio texto não-ascii do Windows e colo no Emacs, ele aparece como uma sequência octal. Por exemplo, se eu colar ä no Emacs, ele aparecerá como \ 344.
Eu poderia digitar Cq 344 para obter o ä de volta no Emacs. Isso é chato, mas é tolerável se houver apenas um personagem. Mas se houver muitos caracteres transformados em seqüências de escape octais, seria conveniente executar algum comando em uma região para converter tudo dentro. Já existe esse comando? Caso contrário, como você escreveria uma função para fazer isso?
[Defino meu sistema de codificação padrão como utf-8 no meu arquivo .emacs e uso o mesmo arquivo .emacs no Windows e Linux. Mas o problema só acontece ao copiar de um aplicativo Windows para o Emacs. Copiar do Emacs para outro aplicativo do Windows funciona bem.]
fonte
revert-buffer-with-coding-system
(veja a documentação). O Emacs mostra os caracteres desta maneira porque você os copiou de um ambiente que estava em um sistema de codificação diferente (assumindo ANSI com os chamados caracteres ASCII altos usados para renderizar latim com diacríticos), mas seu buffer deve estar usando algo como UTF-8 (por quais caracteres ASCII com conjunto de bits altos não têm significado, isto é, são inválidos).set-clipboard-coding-system
. TenteC-h a coding-system
ver quais outras funções neste grupo estão disponíveis.emacs -Q
e se você já vir o problemaM-x report-emacs-bug
,.insert-file-literally
(e era tarde demais para desfazer ou excluir / reinserir o arquivo).Respostas:
Acontece que a parte ofensiva do meu arquivo .emacs era
(set-selection-coding-system 'utf-8)
. Depois que removi essa linha, o Emacs se comportou como esperado.fonte
Uma vez feito isso:
de misc-utils.el em https://launchpad.net/sx-emacs-werkstatt
fonte