Não quero que o iBooks cole sempre o "Trecho de" do que copiei

30

Eu li no iBooks e em alguns outros recursos e reuni minhas anotações no EverNote. Quando copio um texto do iBooks para mantê-lo como anotação em outro aplicativo externo como o EverNote, ele continua colando as informações de origem que são tão irritantes e eu tenho que excluí-las após cada copiar e colar. Por exemplo:

“To bind this class using Ninject, I specify the value of the constructor parameter using the WithConstructorArgument method in the AddBindings method, as shown in Listing 6-20.”

Excerpt From: Adam Freeman. “Pro ASP.NET MVC 5.” iBooks. https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=4CB3769B56E7D2A905C0332D53D7E31D
EricFromSouthPark
fonte
2
Você não pode evitar isso. A Apple programou dessa maneira devido a leis e direitos autorais. Tão más notícias para você precisar se acostumar. :-(
konqui
pode você pode construir um Script Automator - mas eu não tenho certeza se você pode editar o texto Copiar + Cole Processo ...
bMalum
3
Isso é realmente irritante quando você realmente tem o direito de copiar frases : '(
Rubens Mariuzzo
1
Vim aqui porque colar dos exemplos de livros Swift é péssimo. Mais um motivo para obter literatura do iBooks, mas todos os livros de programação no Kindle.
Dirk Bester 23/02
2
@konqui Eles sabem que podemos excluir esse direito. Não é muito inteligente. É um clichê irritante para uma tarefa básica.
atilkan

Respostas:

11

Esta postagem de blog fornece um exemplo de como fazer isso usando um script do Automator com um atalho de teclado.

No Automator, crie um novo serviço que não recebe entrada. Execute estas três ações:

  1. Obter conteúdo da área de transferência
  2. Executar script de shell
  3. Copiar para área de transferência

Coloque isso na ação Executar Script do Shell:

# strip out iBooks citation
sed -E -e 's/^[ ]?[0-9]* //g' | sed -E -e 's/“[ ]?[0-9]?[ ]?//g' | sed -E -e 's/”$//g'  | sed -E -e 's/^(Excerpt From).*//g'

Serviço "Remover citação do iBooks" no Automator

Depois de salvar o serviço, você pode atribuir um atalho para esta ação, como I, em Preferências do Sistema> Teclado> Atalhos> Serviços. Em seguida, você pressiona esse atalho antes de colar, se quiser se livrar do texto que o iBooks adicionou.

Amir Raminfar
fonte
Obrigado Amir, super útil, isso me incomoda há séculos!
GGx - Restabelecer Monica Cellio 14/06
Isso não é realmente muito problemático? O que acontece se houver uma correspondência de regex para outra coisa que você copia colada?
t0mgs 14/08
@ t0mgs, então você simplesmente não usa o atalho atribuído antes de colar
Martin
Legítimo, suponho. Obrigado!
t0mgs 26/10
5

Você pode usar o Keyboard Maestro para acionar o seguinte AppleScript:

set original_clipboard to the clipboard
set paragraph_count to count of paragraphs of original_clipboard
-- assuming the last two paragraphs are what you want to strip out--
-- that is, the blank line and the attribution
set new_clipboard to paragraphs 1 thru -2 of original_clipboard as string
set the clipboard to new_clipboard
-- now you can paste

Com o Keyboard Maestro, você criaria uma nova macro, acionada por algumas teclas (talvez Command-Option-V), e o primeiro passo seria um "Executar um AppleScript" (na seção Executar) usando o script acima. O próximo passo seria um "Colar" (na seção Área de transferência). Você copiava o texto, depois clica onde deseja colá-lo e pressione Command-Option-V para colar o texto sem os dois últimos parágrafos.

Outros programas de macro funcionariam muito desde que soubessem executar um AppleScript.

Christian Boyce
fonte
Usei sua solução, mas o resultado final inclui aspas. Como faço para me livrar disso para que as aspas circundantes sejam removidas?
Michael Jaq
Você nem precisa de um programa externo - coloque o AppleScript em um serviço de automação e defina o serviço como um atalho de teclado.
Wowfunhappy
@ MichaelJaq Minha resposta contém uma macro para o Keyboard Maestro que retira as aspas também.
Rory O'Kane 17/03
@ MichaelJaq, você pode usar esse método com o script de shell neste segmento e ele removerá a cotação. Altere "Executar um AppleScript" para "Executar script de shell". Este AppleScript não os removeu, apenas um resultado parcial.
MarkBTomlinson
3

Criei um script para o ClipMenu (utilitário de transferência da macOS) para remover informações indesejadas:

return clipText.replace(/^“/, '').replace(/”\s*Excerpt.*iBooks\.\s?$/, '');

Salvar como /Users/USERNAME/Library/Application Support/ClipMenu/script/action/iBooks.js

Filip Suk
fonte
3

Abaixo estão as etapas para copiar texto do iBooks:

  1. Destaque as passagens que você deseja copiar.
  2. Um pop-up será aberto automaticamente ou você deve abrir um pop-up usando o botão direito do mouse nas passagens selecionadas.
  3. Selecione a opção 'Adicionar nota' no pop-up.
  4. O texto selecionado / destacado será mostrado no painel esquerdo.
  5. Clique com o botão direito do mouse nas passagens no painel esquerdo e selecione a opção 'Copiar'.

Eu criei um vídeo para mostrar como ele funciona: https://youtu.be/ZQLl_Gl9TMw

Feliz codificação!

Renish Dadhaniya
fonte
> O texto selecionado / destacado será mostrado no painel esquerdo. O painel esquerdo? Isto está errado. Não existe nenhuma saída do painel esquerdo
verde
3

Aqui está como configurar uma macro do Keyboard Maestro para extrair o texto extra, incluindo as aspas, no momento em que o texto é copiado do iBooks.

Primeiro, crie um grupo de macros chamado “mapeamento específico do iBooks” e adicione o iBooks em “Disponível nesses aplicativos”. (Nas versões mais recentes do macOS, o aplicativo será chamado de Books em vez de iBooks.)

Grupo "Mapeamento específico do iBooks" no Keyboard Maestro

Em seguida, crie uma macro chamada "Copiar sem citação". Atribua a tecla de atalho C. Dê à macro as seguintes ações:

  1. Área de transferência> Copiar
  2. Área de transferência> Pesquisar e substituir
    • Pesquisa: Área de transferência do sistema
    • para: Expressão regular (diferencia maiúsculas de minúsculas)
      • ^“
    • e substitua por:
      • (deixe vazio)
  3. Área de transferência> Pesquisar e substituir
    • Pesquisa: Área de transferência do sistema
    • para: Expressão regular (diferencia maiúsculas de minúsculas)
      • ”\s*Excerpt.*Books\.\s?$
    • e substitua por:
      • (deixe vazio)

É assim que ficará no Keyboard Maestro:

Macro "Copiar sem citação" no Keyboard Maestro

Agora, qualquer texto no iBooks copiado usando esse atalho de teclado terá o texto extra removido das duas extremidades.

Rory O'Kane
fonte
Obrigado à resposta de Filip Suk pelas expressões regulares.
Rory O'Kane 17/03
Para aqueles cujo iBooks foi substituído por "Livros", modifique o último RegEx com”\s*Excerpt.*Books\.\s?$
Tim N.
@TimN. Obrigado. Atualizei a resposta e as capturas de tela para usar esse regex, pois esse regex deve funcionar para os dois nomes de aplicativos.
Rory O'Kane
1

da resposta de Amir Raminfar. é assim que você deseja copiar diretamente sem o Comando C para salvar o conteúdo na área de transferência.

basta alterar O fluxo de trabalho recebe atual para: "text" em "Books.app" e desabilite o conteúdo da área de transferência.

Long Vu
fonte
Bem-vindo ao perguntar diferente. Este é um comentário sobre uma resposta anterior e não uma resposta independente. Não deveria ser a própria resposta. Consulte Como responder para obter dicas sobre como fornecer respostas aqui. - Da avaliação
fsb