Je ne veux pas que iBooks colle toujours l '«extrait de» de ce que j'ai copié

30

Je lis sur iBooks, et quelques autres ressources et rassemble mes notes dans EverNote. Lorsque je copie un texte d'iBooks pour le conserver comme note dans une autre application externe comme EverNote, il continue de coller les informations source, ce qui est tellement ennuyeux et je dois continuer à les supprimer après chaque copier-coller. Par exemple:

“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
la source
2
Vous ne pouvez pas éviter cela. Apple l'a programmé de cette façon en raison de la législation et des droits d'auteur. Donc, de mauvaises nouvelles pour vous devez vous y habituer. :-(
konqui
Puissiez-vous pouvoir créer un script Automator - mais je ne sais pas si vous pouvez modifier le processus de copie + collage de texte ...
bMalum
3
C'est vraiment ennuyeux quand vous avez réellement le droit de copier des phrases : '(
Rubens Mariuzzo
1
Entré ici parce que coller des exemples de livres Swift est nul. Une raison de plus pour obtenir de la documentation sur iBooks, mais tous les livres de programmation sur Kindle.
Dirk Bester
2
@konqui Ils savent que nous pouvons supprimer ce droit. Ce n'est pas très intelligent. C'est un passe-partout ennuyeux pour une tâche de base.
atilkan

Réponses:

11

Ce billet de blog donne un exemple de la façon de le faire à l'aide d'un script Automator avec un raccourci clavier.

Dans Automator, créez un nouveau service qui ne reçoit aucune entrée. Donnez-lui ces trois actions:

  1. Obtenir le contenu du presse-papiers
  2. Exécuter le script shell
  3. Copier dans le presse-papier

Mettez ceci dans l'action Run Shell Script:

# 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'

Service «Supprimer la citation iBooks» dans Automator

Après avoir enregistré le service, vous pouvez attribuer un raccourci à cette action, comme Idans Préférences Système> Clavier> Raccourcis> Services. Ensuite, vous appuyez sur ce raccourci avant de coller si vous souhaitez vous débarrasser du texte ajouté par iBooks.

Amir Raminfar
la source
Merci Amir, super serviable, cela me dérange depuis des lustres!
GGx
N'est-ce pas vraiment vraiment vraiment problématique? Que se passe-t-il s'il existe une correspondance d'expression régulière pour une autre chose que vous copiez collée?
t0mgs
@ t0mgs alors vous n'utilisez tout simplement pas le raccourci assigné avant de coller
Martin
Légitime je suppose. Merci!
t0mgs
5

Vous pouvez utiliser Keyboard Maestro pour déclencher le AppleScript suivant:

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

Avec Keyboard Maestro, vous créeriez une nouvelle macro, déclenchée par une frappe (peut-être Commande-Option-V), et la première étape serait un "Exécuter un AppleScript" (dans la section Exécuter) en utilisant le script ci-dessus. L'étape suivante serait un "Coller" (dans la section Presse-papiers). Vous copiez votre texte, puis cliquez à l'endroit où vous souhaitez le coller, puis appuyez sur Commande + Option + V pour le coller sans les deux derniers paragraphes.

D'autres programmes de macro fonctionneraient aussi tant qu'ils savent comment exécuter un AppleScript.

Christian Boyce
la source
J'ai utilisé votre solution, mais le résultat final comprend un guillemet. Comment puis-je m'en débarrasser pour que les guillemets environnants soient supprimés?
Michael Jaq
Vous ne devriez même pas avoir besoin d'un programme externe: mettez AppleScript dans un service d'automate, puis définissez le service d'automate sur un raccourci clavier.
Wowfunhappy
@MichaelJaq Ma réponse contient une macro pour Keyboard Maestro qui supprime également les guillemets.
Rory O'Kane
@MichaelJaq vous pouvez utiliser cette méthode avec le script shell dans ce fil et cela supprimera la citation. Remplacez «Exécuter un AppleScript» par «Exécuter un script shell». Cet AppleScript ne les a pas supprimés donc seulement un résultat partiel.
MarkBTomlinson
3

J'ai créé un script pour ClipMenu (utilitaire de presse-papiers macOS) pour supprimer les informations indésirables:

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

Enregistrer sous /Users/USERNAME/Library/Application Support/ClipMenu/script/action/iBooks.js

Filip Suk
la source
3

Voici les étapes pour copier du texte à partir d'iBooks:

  1. Mettez en surbrillance les passages que vous souhaitez copier.
  2. Une popup s'ouvrira automatiquement ou vous devez ouvrir une popup en faisant un clic droit sur les passages sélectionnés.
  3. Sélectionnez l'option «Ajouter une note» dans la fenêtre contextuelle.
  4. Le texte sélectionné / mis en surbrillance sera affiché dans le volet gauche.
  5. Faites un clic droit sur les passages dans le panneau de gauche et sélectionnez l'option «Copier».

J'ai créé une vidéo pour montrer comment cela fonctionne: https://youtu.be/ZQLl_Gl9TMw

Bon codage!

Renish Dadhaniya
la source
> Le texte sélectionné / mis en surbrillance sera affiché dans le volet gauche. Quel volet gauche? C'est faux. Pas d'exsts de volet gauche
vert
3

Voici comment configurer une macro Keyboard Maestro pour supprimer le texte supplémentaire, y compris les guillemets, au moment où le texte est copié à partir d'iBooks.

Tout d'abord, créez un groupe de macros appelé «mappage spécifique à iBooks» et ajoutez des iBooks dans «Disponible dans ces applications». (Dans les versions plus récentes de macOS, l'application sera nommée Books au lieu d'iBooks.)

Groupe «Mappage spécifique à iBooks» dans Keyboard Maestro

Créez ensuite une macro nommée «Copier sans citation». Attribuez-lui la touche de raccourci C. Donnez à la macro les actions suivantes:

  1. Presse-papiers> Copier
  2. Presse-papiers> Rechercher et remplacer
    • Recherche: Presse-papiers système
    • pour: Expression régulière (sensible à la casse)
      • ^“
    • et remplacer par:
      • (Laissez vide)
  3. Presse-papiers> Rechercher et remplacer
    • Recherche: Presse-papiers système
    • pour: Expression régulière (sensible à la casse)
      • ”\s*Excerpt.*Books\.\s?$
    • et remplacer par:
      • (Laissez vide)

Voici à quoi cela ressemblera dans Keyboard Maestro:

Macro «Copier sans citation» dans Keyboard Maestro

Désormais, tout texte dans iBooks copié à l'aide de ce raccourci clavier aura le texte supplémentaire retiré des deux extrémités.

Rory O'Kane
la source
Merci à Filip Suk pour les expressions régulières.
Rory O'Kane
Pour ceux dont l'iBooks a été remplacé par "Books", il suffit de modifier le dernier RegEx avec”\s*Excerpt.*Books\.\s?$
Tim N.
@TimN. Merci. J'ai mis à jour la réponse et les captures d'écran pour utiliser cette expression régulière, car cette expression régulière devrait fonctionner pour les deux noms d'application.
Rory O'Kane
1

d'après la réponse d'Amir Raminfar. c'est un moyen si vous souhaitez copier directement sans commande C pour enregistrer le contenu dans le presse-papiers.

il suffit de modifier Workflow reçoit le courant en: "texte" dans "Books.app" et de désactiver obtenir le contenu du Presse-papiers.

Long Vu
la source
Bienvenue sur Ask Different. Il s'agit d'un commentaire sur une réponse précédente et non d'une réponse autonome. Ce ne devrait pas être sa propre réponse. Veuillez consulter Comment répondre pour obtenir des conseils sur la manière de fournir des réponses ici. - De l'avis
fsb