Eu uso vários modos que exibem caracteres Unicode no meu código sem alterar o arquivo subjacente. Por exemplo, no modo Haskell, o seguinte código:
foo :: forall a. Eq a => a -> a -> a
é exibido como
foo ∷ ∀ a. Eq a ⇒ a → a → a
Isso é implementado com compose-region
, que pode substituir uma região por um caractere sem alterar o texto real do buffer.
Quando copio o código, no entanto, ele copia o texto subjacente sem o Unicode. Na maioria das vezes, esse é o comportamento desejado, mas às vezes eu quero copiar os caracteres exibidos - tive que digitar a segunda versão do meu exemplo!
Como posso copiar o resultado de substituições de caracteres como esta e não o texto subjacente? (Na verdade, não tenho certeza se isso é possível!)
copy-paste
compose-region
Tikhon Jelvis
fonte
fonte
copy-visible
função genérica , isso seria incrível.Respostas:
Tentei fazer isso sozinho e não encontrei uma boa solução. Parece que isso pode ser feito compondo manualmente o texto do buffer com base na propriedade de composição e na tabela de funções de composição.
No passado, eu resolvi isso executando o emacs em um terminal e usando o mouse para selecionar e copiar o texto exibido.
Claramente, não é uma boa solução, mas funciona em momentos de necessidade. Você pode colar o texto "visível" novamente, colando um SO no terminal.
fonte