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.