Quando executo o Emacs em um terminal de texto em vez do modo normal da GUI, posso copiar no Emacs ativando o início de uma região com C-SPC
e, em seguida, selecionar o que quero e fazer M-w
.
Existe alguma maneira de obter uma região copiada dessa maneira disponível na área de transferência do OSX para colá-la em uma página da web (exceto executando o Emacs no modo GUI, obviamente)?
Não estou interessado em criar um atalho diferente para fazer isso e, idealmente, não deve exigir a instalação de nenhum módulo.
Eu já vi esse post e tentei a resposta aceita, mas ele não parece funcionar da maneira que espero acima.
Alguma outra ideia?
osx
copy-paste
Galder Zamarreño
fonte
fonte
Respostas:
Copie da área de transferência do Emacs para o OS X:
selecione a região então
M-| pbcopy RET
Cole da área de transferência do OS X no Emacs:
C-u M-| pbpaste RET
(substitui a região atual, se existir)Explicação:
M-|
é executadoshell-command-on-region
, como o nome indica canaliza a região atual para um comando shell.C-u M-|
faz a mesma coisa, mas substitui a região atual pelastdout
do comando que está sendo executado.pbcopy
epbpaste
são utilitários do OS X para acessar a área de transferência do sistema.fonte
O seguinte simplesmente funciona, copiado daqui
fonte
xclip-mode
sofre do mesmo problema?Se você usa o Emacs "da maneira normal" (ou seja, como um aplicativo GUI), ele já deve fazer isso por padrão. Se você usa o Emacs dentro de um emulador de terminal, na verdade ele não sabe como fazer isso por padrão, mas você pode instalar o
xclip
pacote do GNU ELPA e ativar oxclip-mode
que ensina ao Emacs como fazer isso tanto no GNU / Linux quanto no GNU / Linux. OSX.fonte
xclip
com OSX? Pelo que tenho visto por aí, parece ser projetado para funcionar com o X11, consulte pósxclip.el
pacote foi estendido para usopbpaste
.M-x report-emacs-bug
?Como Stefan disse, os aplicativos gráficos do Emacs devem fazer isso por padrão.
Em um terminal de texto, outra opção é usar funções como esta:
fonte
Aqui está uma função elisp simples que você pode colocar no arquivo .emacs que copia o conteúdo do buffer em que está na área de transferência. Você não precisa selecionar nada, ele copia tudo. O código é curto e bastante auto-explicativo.
fonte
Confira
clipboard-kill-region
eclipboard-yank
. Estes vêmmenu-bar.el
.Depois que uma região é destacada, você pode usar a área de transferência para matar a região no buffer de colagem e na área de transferência do sistema. clipboard-yank "cola" o que estiver atualmente na área de transferência do sistema.
fonte
A resposta de Galder Zamarreño é ótima, no entanto, quebra o
put
comportamento do mal no modo do mal. Portanto, adaptei-o um pouco abaixo - tenho certeza de que poderia ser melhor, mas faz o trabalho para mim. Sinta-se livre para sugerir melhorias:----> Novo Código
fonte