TL; DR: você pode usar clipmon
disponível no MELPA e ativar clipmon-mode
.
Nota: os detalhes abaixo se aplicam aos servidores X, mas o pacote deve funcionar em qualquer plataforma.
Como a área de transferência funciona?
A área de transferência é implementada como um processo assíncrono. Quando você copia de um aplicativo, ele se torna o "proprietário da área de transferência", mas na verdade não coloca os dados copiados em nenhum lugar. Quando você cola em um aplicativo, ele solicita os dados do "proprietário da área de transferência" atual.
Referência: http://www.jwz.org/doc/x-cut-and-paste.html
Como obter o conteúdo da área de transferência
Pelo que entendi, a maneira "confiável" de verificar se há novos dados na área de transferência é pesquisar periodicamente o servidor X para verificar o que está lá. Para o emacs, o pacote clipmon ( https://github.com/bburns/clipmon ) faz isso. A cada dois segundos, por padrão.
Trecho do README:
Ele também adiciona alterações na área de transferência do sistema ao anel de morte, transformando o Emacs em um gerenciador de área de transferência para texto - você pode usar um pacote como procurar-matar-anel ou anel de leme para visualizar e gerenciar o histórico da área de transferência.
(Observe que eu realmente não tentei este pacote, mas certamente parece uma solução.)
Finalmente, descobri uma solução desajeitada, que se referia ao conceito de
clipmon
. Mas muito simples com o código de uma linha:O anel de morte será sincronizado a cada 3 segundos com a área de transferência do sistema. Claro que você pode alterar o intervalo para um valor ainda menor.
PS: A razão pela qual eu preciso dessa funcionalidade é que desejo definir um comando que possa ser chamado com argumentos do que copiei externamente.
Obrigado pelas respostas de @kaushalmodi e @YoungFrog.
fonte