Quali funzionalità offrono i "marchi" nel Terminal El Capitan?


117

Dall'aggiornamento a OS X El Capitan, ho notato un cambiamento nel Terminale: le linee eseguite mostrano una parentesi aperta a sinistra e una parentesi chiusa a destra, come mostrato in questo screenshot:

terminale

Domande simili sono state poste qui:

Alcune delle domande si riferiscono a queste parentesi come segni e il menu Modifica del Terminale ha un paio di voci relative ai segni , ad esempio:

  • Modifica> Segna> Segna come richiesto e invia ritorno
  • Modifica> Cancella al segno precedente
  • Modifica> Naviga> Vai al segno precedente

Menu Modifica

C'è un riassunto di ciò per cui questi marchi possono essere usati? Non ho visto alcun riferimento a questa nuova funzionalità in nessuna delle panoramiche di El Capitan.


9
Se solo avessimo trovato un modo migliore per pagare Siracusa abbastanza da controllare il sistema operativo per mesi e mesi ....
— bmike

Risposte:


155

Segni nel terminale

I nuovi segni di Terminale (disponibili a partire da OS X 10.11 - El Capitan) sono simili ai Segnalibri , che sono disponibili anche nel Terminale, consentendo di contrassegnare le posizioni della finestra e quindi di tornare indietro in un momento successivo.

I segni (o i segnalibri) non si riferiscono alla cronologia dei comandi, ma al buffer di scorrimento utilizzato nella finestra / scheda Terminale.

Contrassegnare una linea

Per impostazione predefinita, ogni volta che si preme Enternella finestra Terminale, la linea viene contrassegnata , che viene visualizzata utilizzando una parentesi quadra all'inizio della riga e una chiusura alla fine. Questo comportamento predefinito può essere disattivato utilizzando la voce di menu Modifica> Segni> Contrassegna automaticamente righe prompt . Quando questa opzione è disabilitata, è comunque possibile eseguire manualmente e contrassegnare un comando utilizzando Cmd+Enter(o con la voce di menu Modifica> Segna> Segna come Richiedi e invia ritorno ).

Se hai abilitato il contrassegno automatico e desideri eseguire un comando senza contrassegnarlo come prompt , puoi farlo utilizzando Cmd+Shift+Enter(o con la voce di menu Modifica> Segni> Invia ritorno senza contrassegno ).

Disabilitazione dei segni

La marcatura automatica delle linee può essere disabilitata usando la voce di menu Modifica> Segni> Contrassegna automaticamente linee di richiesta .

Dalla riga di comando, lo stesso può essere ottenuto utilizzando

defaults write com.apple.Terminal AutoMarkPromptLines -bool NO

Segni nascosti

Se si desidera utilizzare la funzionalità dei segni , ma non si desidera vedere le parentesi all'inizio e alla fine della riga, nasconderle utilizzando la voce di menu Visualizza> Nascondi segni . Ciò manterrà intatta la funzionalità di seguito, ma non mostrerà più le parentesi.

Saltare tra i segni

Una volta che una linea è stata segnata, puoi passare rapidamente al segno precedente usando Cmd+Upo a quello successivo usando Cmd+Down. Opzioni simili sono disponibili per i segnalibri e per selezionare il segno successivo / precedente:

Menu Modifica

Contrassegno manuale di una linea

Oltre alla marcatura automatica, è anche possibile aggiungere manualmente segni selezionando una riga nell'output del terminale utilizzando il mouse, quindi selezionando la voce di menu Modifica> Segni> Segna come prompt (o Cmd+U).

Casi d'uso

La funzionalità Marks è utile se alcuni dei tuoi comandi eseguiti producono un sacco di output e vuoi rapidamente scorrere fino alla posizione in cui hai inserito il comando. Premendo Cmd+Upti porterà lì. Premendolo ripetutamente ti porterà più in alto, mentre premendo Cmd+Downti riporterà di nuovo in basso. La posizione target viene evidenziata comodamente mentre salti / scorri.

Contrassegna l'utilizzo

Selezione del contenuto

La stessa funzionalità dei segni può essere utilizzata per selezionare l'uscita del terminale. Premendo Cmd+Shift+Upsi selezionerà il contenuto fino al segno precedente, mentre Cmd+Shift+Downsi selezionerà fino al segno successivo. Ciò è utile quando si desidera copiare l'output del registro o altri contenuti dal Terminale.

Questa funzionalità è disponibile anche dal menu Modifica> Naviga mentre si preme il Shifttasto:

Naviga nel menu

Sommario

Dopo averlo usato per un paio di giorni, lo trovo incredibilmente utile. Scorrere su centinaia di righe di output per trovare l'inizio dell'output del comando è diventato improvvisamente molto più semplice.

Mi chiedo perché questa nuova funzionalità non sia menzionata in modo più evidente: non l'ho mai vista in nessuna delle procedure dettagliate di El Capitan. La guida di Terminal attualmente non fornisce alcun dettaglio su questa funzione.


1
Bella risposta. Solo per aggiungere un po ', anche i segnalibri possono essere nominati, quindi pensa ai segnalibri come Capitoli in un libro e contrassegna come Paragrafi. Potresti creare un nuovo segnalibro quando avvii una nuova attività nello stesso Terminale, utile per ricordare esattamente dove hai iniziato e cosa hai fatto.
— user14492

Questo è davvero utile. Grazie per questa grande spiegazione! Mi chiedevo perché ho osservato la stessa cosa mesi fa, ma l'ho ignorato, fino a quando ho capito che non aveva nulla a che fare con la mia PS1 modificata. Grande!
— bretonica

4

Sembra una forma di "bookmarking rapido / leggero". Immagino che la disabilitazione di "Segna automaticamente righe di prompt" renda più evidente la sua funzione. Dopo averlo fatto, Cmd-Enter salva esplicitamente il segno e Cmd-Up / Down salta tra di loro.

Dato che puoi convertire i segni in segnalibri e viceversa, li vedrei come segnalibri leggeri o di secondo livello.


1
Non sembra del tutto esatto. Quando uso Cmd + Up , non scorre la mia cronologia, ma scorre l'intera finestra del Terminale fino al comando precedentemente contrassegnato .
— nwinkler

Non ho installato (ancora) El Capitan e la mia risposta è un po 'fuori tema. Se si tratta di una funzione di ricerca della cronologia come menzionata da @fonso, sembra che Apple abbia riprogettato la vecchia funzionalità <kbd> CTRL </kbd> - <kbd> R </kbd> di bash, dove è possibile eseguire una ricerca cronologica interattiva inversa . E Apple sembra averlo visualizzato.
— Garex,

2
No non lo è. Come ho detto nel mio commento, non ha alcuna sovrapposizione con la ricerca della cronologia CTRL + R. Sembra che la funzione dei segni funzioni come una sorta di segnalibro automatico, che consente di scorrere rapidamente il buffer della finestra del terminale.
— nwinkler,

Scusa, hai ragione, sta segnando il punto di scorrimento, non la storia! Modificherò la risposta.
— fonso,
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.