2010-10-21 3 views
35

Dire che sono in un terminale bash e ho una lunga storia di comandi. Ho premuto la freccia su un sacco di volte e sono nel "centro" della storia. Ora desidero passare rapidamente al primo o all'ultimo comando della mia cronologia (senza tenere premuto a lungo la freccia su o giù). È possibile? In tal caso, qual è il tasto di scelta rapida per raggiungere questo obiettivo?Navigare al comando più vecchio/più recente della cronologia quando sei nel bel mezzo della tua cronologia

risposta

51

Date un'occhiata nella man page:

man bash 

Qui ho copiato per te la cosa che stavate cercando:

previous-history (C-p) 
    Fetch the previous command from the history list, moving back in the list. 
next-history (C-n) 
    Fetch the next command from the history list, moving forward in the list. 
beginning-of-history (M-<) 
    Move to the first line in the history. 
end-of-history (M->) 
    Move to the end of the input history, i.e., the line currently being entered. 
+27

Si noti che quando il tasto META non funziona, è possibile utilizzare Escape e quindi < or >. – Benoit

+1

Come farlo in modalità vi? –

+8

Per coloro che si sentono ancora persi: C è Control e M è la chiave Meta. [Altro in questa risposta] (http://askubuntu.com/a/19565/323990). Per alcuni sistemi il tasto Meta è Alt o Alt + Maiusc. – totymedli

9

A seconda di come le cose sono impostati per il terminale, di solito si può fare un Ctrl + C di rompere voi di nuovo all'inizio (no comment) e poi salire una o due volte per arrivare al recente comando che vuoi

In alternativa, utilizzando il comando history verranno elencati tutti i comandi recenti utilizzati con i valori di indice associati ad essi. !# dove # è il numero di indice verrà rieseguire il comando. C'è una buona utilità del comando history | grep [command] per cercare e trovare un comando specifico nella cronologia.

+3

Ctrl-R permette di reverse-cercare la vostra storia. –

+0

Non sapevo che 'Ctrl' +' C' è tornato alla fine della storia. +1 perché sto usando 'byobu', quindi'Alt' +'> 'è mappato a diverse funzionalità. –