Vai all'ultimo prompt nel terminale (o tmux)


8

In un terminale, ci sono delle scorciatoie per passare al prompt precedente / successivo? Scorrere verso l'alto e cercare di trovare l'inizio di un registro rallenta il mio flusso di lavoro.

Sto usando iTerm su OSX, ma questo dovrebbe essere applicabile a qualsiasi terminale Unix. Anche una soluzione in Tmux sarebbe di aiuto.


Se il tuo hostname è nel tuo prompt, puoi invertire la ricerca per tornare indietro in quel modo ...
jasonwryan,

Pipe to less.
Kusalananda

Risposte:


4

All'interno di tmux v2.4 + ( commit rilevante ), è possibile definire un'associazione per saltare agli ultimi prompt con affidabilità accettabile:

bind-key b copy-mode\;\
           send-keys -X start-of-line\;\
           send-keys -X search-backward " "

Dove " "è uno spazio non interrompibile e viene apportata una modifica corrispondente affinché il prompt della shell lo contenga ( $PS1o $PROMPT_COMMANDin bash).

Potrebbe essere necessario prestare particolare attenzione a impostarlo nel prompt della shell e nella configurazione di tmux, poiché potrebbe essere cambiato nello spazio normale durante le operazioni di copia-incolla (vedere il metodo con vim nei commenti).

In alternativa, puoi provare il tuo carattere di spazio Unicode alternativo preferito o tutto ciò che si verifica raramente negli output dei comandi e che sei pronto ad accettare di vedere nel tuo prompt (🍌?).

Questa potrebbe anche essere una combinazione di più personaggi per ancor meno falsi positivi. Probabilmente è meglio scegliere qualcosa alla fine del prompt, per una navigazione più semplice.

Credito :


1
Tagliare e incollare non farebbe funzionare il personaggio dello spazio non-break per me, ma sono stato in grado di farlo funzionare con Vim. Nella modalità di inserimento, utilizzare CTRL-k <space><space>per inserire lo spazio non interrotto. Successivamente, in modalità normale, il gacomando stampa il valore ASCII del carattere sotto il cursore che può essere utilizzato per confermare che questo carattere è diverso dagli altri spazi.
robenkleene,

0

Se si utilizza lessper visualizzare il contenuto del file di registro, è possibile scorrere avanti e indietro utilizzando i tasti Spacee b(consultare il lessmanuale). È anche possibile eseguire ricerche nell'output con /(e ?per la ricerca all'indietro).

Per visualizzare l'output da un programma less, è sufficiente reindirizzare l'output ad esso:

$ ./myprogram | less

Per salvare ulteriormente l'output in un file:

$ ./myprogram | tee myprogram.out | less

Se premi Fmentre leggi un file su cui stai scrivendo, lesssi comporterà come tail -f. Per interrompere ciò, premere Ctrl+ c.

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.