Non voglio che iBooks incolli sempre l '"Estratto da" di ciò che ho copiato


30

Ho letto su iBooks e alcune altre risorse e ho raccolto i miei appunti su EverNote. Quando copio un testo da iBooks per tenerlo come una nota in qualche altra applicazione esterna come EverNote, continua a incollare le informazioni sulla fonte che è così fastidioso e devo continuare a cancellarle dopo ogni copia-incolla. Per esempio:

“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

2
Non puoi evitarlo. Apple lo ha programmato in questo modo per motivi legali e di copyright. Quindi le cattive notizie per te devono abituarsi. :-(
konqui,

che tu possa costruire uno script di Automator - ma non sono sicuro che tu possa modificare Copia di testo + Incolla processo ...
bMalum

3
È davvero fastidioso quando in realtà hai il diritto di copiare frasi : '(
Rubens Mariuzzo

1
Sono venuto qui perché incollare dagli esempi del libro Swift fa schifo. Un motivo in più per ottenere letteratura da iBooks ma tutti i libri di programmazione su Kindle.
Dirk Bester,

2
@konqui Sanno che possiamo eliminare quel diritto. Non è molto intelligente. È un fastidioso boilerplate per un compito di base.
Atilkan,

Risposte:


11

Questo post sul blog fornisce un esempio di come farlo utilizzando uno script di Automator con una scorciatoia da tastiera.

In Automator, creare un nuovo servizio che non riceve input. Dagli queste tre azioni:

  1. Ottieni contenuti negli Appunti
  2. Esegui script Shell
  3. Copia negli appunti

Inseriscilo nell'azione Esegui script 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'

Servizio "Rimuovi citazione iBooks" in Automator

Dopo aver salvato il servizio, è possibile assegnare un collegamento a questa azione, ad esempio I, in Preferenze di Sistema> Tastiera> Collegamenti> Servizi. Quindi fai clic sul collegamento prima di incollarlo se desideri eliminare il testo aggiunto da iBooks.


Grazie Amir, super disponibile, questo mi ha infastidito per anni!
GGx - Ripristina Monica Cellio il

Non è davvero davvero così problematico? Cosa succede se esiste una corrispondenza regex per qualche altra cosa che hai incollato?
t0mgs

@ t0mgs allora semplicemente non usi la scorciatoia assegnata prima di incollare
Martin

Legittimo suppongo. Grazie!
t0mgs

5

È possibile utilizzare Keyboard Maestro per attivare il seguente 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

Con Keyboard Maestro creeresti una nuova macro, innescata da alcuni tasti (forse Command-Option-V), e il primo passo sarebbe un "Execute an AppleScript" (nella sezione Execute) usando lo script sopra. Il prossimo passo sarebbe un "Incolla" (nella sezione Appunti). Dovresti copiare il testo, quindi fare clic nel punto in cui desideri incollarlo, quindi premere Comando-Opzione-V per incollarlo senza gli ultimi due paragrafi.

Altri programmi macro funzionerebbero anche se sanno come eseguire un AppleScript.


Ho usato la tua soluzione, ma il risultato finale include le virgolette. Come posso liberarmene in modo da rimuovere le virgolette circostanti?
Michael Jaq,

Non dovresti nemmeno aver bisogno di un programma esterno: inserisci AppleScript in un servizio di automazione, quindi imposta il servizio di automazione su una scorciatoia da tastiera.
Wowfunhappy,

@MichaelJaq La mia risposta contiene una macro per Keyboard Maestro che rimuove anche le virgolette.
Rory O'Kane,

@MichaelJaq puoi usare questo metodo con lo script della shell in questo thread e rimuoverà la citazione. Modifica "Esegui un AppleScript" in "Esegui script shell". Questo AppleScript non li ha rimossi, quindi solo un risultato parziale.
MarkBTomlinson,

3

Ho creato uno script per ClipMenu (utilità per gli appunti di macOS) per rimuovere le informazioni indesiderate:

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

Salva come /Users/USERNAME/Library/Application Support/ClipMenu/script/action/iBooks.js


3

Di seguito sono riportati i passaggi per la copia di testo da iBooks:

  1. Evidenzia i passaggi che desideri copiare.
  2. Verrà aperto automaticamente un popup oppure è necessario aprire un popup facendo clic con il pulsante destro del mouse sui passaggi selezionati.
  3. Seleziona l'opzione 'Aggiungi nota' dal popup.
  4. Il testo selezionato / evidenziato verrà visualizzato nel riquadro a sinistra.
  5. Fare clic con il tasto destro sui passaggi nel pannello di sinistra e selezionare l'opzione "Copia".

Ho creato un video per mostrare come funziona: https://youtu.be/ZQLl_Gl9TMw

Buona programmazione!


> Il testo selezionato / evidenziato verrà visualizzato nel riquadro a sinistra. Quale riquadro sinistro? Questo è sbagliato. Nessun riquadro sinistro viene estratto
Verde

3

Ecco come impostare una macro Keyboard Maestro per rimuovere il testo aggiuntivo, comprese le virgolette, nel momento in cui il testo viene copiato da iBooks.

Innanzitutto, crea un gruppo di macro chiamato "mappatura specifica per iBooks" e aggiungi iBooks in "Disponibile in queste applicazioni". (Nelle versioni più recenti di macOS, l'applicazione si chiamerà Books anziché iBooks.)

Gruppo "Mappatura specifica per iBooks" in Keyboard Maestro

Quindi creare una macro denominata "Copia senza citazione". Assegnare il tasto di scelta rapida C. Dare alla macro le seguenti azioni:

  1. Appunti> Copia
  2. Appunti> Cerca e sostituisci
    • Cerca: Appunti di sistema
    • per: Espressione regolare (distinzione tra maiuscole e minuscole)
      • ^“
    • e sostituisci con:
      • (lasciare vuoto)
  3. Appunti> Cerca e sostituisci
    • Cerca: Appunti di sistema
    • per: Espressione regolare (distinzione tra maiuscole e minuscole)
      • ”\s*Excerpt.*Books\.\s?$
    • e sostituisci con:
      • (lasciare vuoto)

Ecco come apparirà in Keyboard Maestro:

Macro "Copia senza citazione" in Keyboard Maestro

Ora qualsiasi testo in iBooks copiato usando quella scorciatoia da tastiera avrà il testo in più rimosso da entrambe le estremità.


Grazie alla risposta di Filip Suk per le espressioni regolari.
Rory O'Kane,

Per coloro i cui iBooks sono stati sostituiti da "Libri", basta modificare l'ultimo RegEx con”\s*Excerpt.*Books\.\s?$
Tim N.

@TimN. Grazie. Ho aggiornato la risposta e gli screenshot per usare quel regex, dal momento che quel regex dovrebbe funzionare con entrambi i nomi di app.
Rory O'Kane,

1

dalla risposta di Amir Raminfar. questo è un modo se si desidera copiare direttamente senza Comando C per salvare il contenuto negli Appunti.

basta cambiare Il flusso di lavoro riceve corrente su: "testo" in "Books.app" e disabilitare ottenere il contenuto degli Appunti.


Benvenuti a chiedere diverso. Questo è un commento su una risposta precedente e non una risposta autonoma. Non dovrebbe essere la sua risposta. Vedere Come rispondere per suggerimenti su come fornire risposte qui. - Dalla recensione
fsb
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.