Imposta Ctrl-k nella copia del Terminale negli appunti di sistema

4

Mi piacerebbe tutto ciò che ho "tagliato" con Ctrl-k in Terminale per essere disponibile nel mio editor di testo quando premo Cmd-v. È possibile? O qualcosa di simile?

Aggiornamento con spiegazione aggiuntiva: Ctrl-k è di default nel terminale "cancella alla fine della riga". Oltre a cancellarlo, inserisce il testo cancellato negli Appunti del terminale (emacs "kill ring") e può essere recuperato con Ctrl-y. Questo è essenzialmente un secondo blocco appunti separato dagli appunti del sistema. Voglio utilizzare lo stesso blocco appunti per Terminal e per il resto del sistema, come il mio editor di testo.

    
posta Thomas David Baker 12.09.2018 - 03:57
fonte

1 risposta

1

Non credo che ciò che stai chiedendo sarà facilmente realizzabile. Credo che le funzioni secondarie di copia e incolla siano isolate in ogni app che le supporta e probabilmente richiederebbe il sequenziamento programmatico della sequenza di chiavi di destinazione e l'elaborazione di conseguenza. Questo è qualcosa che probabilmente dovrebbe essere scritto in C e Objective-C , compilato per essere eseguibile e residente in memoria.

Detto questo, credo che la scorciatoia ^ K taglia l'ultima riga di testo dalla posizione del cursore e la colloca su tavoletta secondaria . Quindi, con questa intesa, lascia che offra la seguente soluzione soluzione .

Il seguente esempio codice AppleScript , mostrato più avanti, verrà utilizzato in Automator servizio , dove si può quindi assegnare una scorciatoia da tastiera al servizio . Questo servizio utilizzerà ad es. ^⇧K (Control-Shift-K) e raggiungi l'obiettivo dell'OP. Che è quello di ottenere ciò che viene inserito nel tavolino secondario nel Terminale , premendo normalmente ^ K , nel pannello di sistema generale alias Appunti , anche se premendo per es ^⇧K invece.

Quanto segue è stato creato, testato e funziona per me in macOS High Sierra .

Crea il servizio ... di Automator

In Automator :

  1. File > Nuovo o premi: ⌘N
  2. Seleziona Servizio e fai clic sul pulsante Scegli .
  3. Configura le impostazioni come mostrato nella prima immagine qui sotto.
  4. Aggiungi un Esegui AppleScript azione .
  5. Sostituisci il codice predefinito con il esempio AppleScript codice .
  6. Salva come ad es .: Mio Ctrl-K per Terminale

EsempioAppleScriptcodice:

tellapplication"Terminal"
    if (count windows) is greater than 0 then
        try
            activate
            set c1 to contents of selected tab of front window
            tell application "System Events" to ¬
                keystroke "k" using control down
            delay 0.5
            set c2 to contents of selected tab of front window
        end try
    else
        return
    end if
end tell

tell current application
    set pCount to (count paragraphs of text of c1)
    repeat with i from 1 to pCount
        if (count characters of (paragraph i of c1)) is greater than 0 then
            set t1 to (paragraph i of c1)
            set t2 to (paragraph i of c2)
        end if
    end repeat

    if (count characters of t1) is not equal to (count characters of t2) then
        set AppleScript's text item delimiters to {t2}
        set CtrlY to text items of t1
        set AppleScript's text item delimiters to {}
        set the clipboard to CtrlY as text
    end if
end tell
  • Nota: il esempio codice AppleScript è proprio quello e non contiene nessun'altra gestione degli errori quindi potrebbe essere presente L'onere è sempre sull'utente di impiegare la gestione degli errori appropriata e necessaria o desiderata.
  • Il valore del comando delay può o non può essere necessario aggiustarlo per il tuo sistema. Regola il valore come potrebbe essere necessario e o aggiungi ulteriori delay comandi come potrebbe essere necessario.

Assegnazione della scelta rapida da tastiera ...

In Preferenze di sistema ...

  • Preferenze di sistema > Tastiera > Scelte rapide > Servizi aggiungi ^⇧K (premi Control-Shift-K) al My Ctrl-K per il Terminal servizio , come mostrato nell'immagine qui sotto.

    • Nota: un suggerimento sul collegamento che hai assegnato ... ^⇧K viene offerto come suggerimento, tuttavia, dovrai selezionarne uno che non sia in conflitto con Terminal (o qualsiasi altro app che ha lo stato attivo se si imposta il servizio su qualsiasi applicazione ) quando viene premuto. Ciò potrebbe richiedere una combinazione strana o una combinazione di quattro caratteri. ^⇧K ha funzionato per me in Terminale . YMMV

OrainTerminale,quandopremi^⇧Kotterrainegliappuntiquelloche^Kposizionailtabellonesecondario.

Comenotaamargine,seusiunprogrammacome FastScripts , devi solo usare l'esempio AppleScript codice come .scpt in Script Editor , non creare un Automator servizio e può assegnare la scorciatoia da tastiera in Preferenze per FastScripts . Nessuna delle altre istruzioni si applica a meno che non si desideri eseguire tutto in modo nativo senza l'utilizzo di software di terze parti.

Nota che non sono affiliato con lo sviluppatore di FastScripts, solo un utente soddisfatto.

    
risposta data 13.09.2018 - 05:22
fonte

Leggi altre domande sui tag