2010-10-21 9 views
35

Powiedz, że jestem w terminalu bash i mam dużą historię poleceń. Naciskałem strzałkę w górę całą masę razy i jestem w "środku" historii. Chcę teraz przejść do pierwszego lub ostatniego polecenia w mojej historii szybko (bez przytrzymywania strzałki w górę lub w dół przez dłuższy czas). czy to możliwe? Jeśli tak, jaki jest skrót klawiszowy do osiągnięcia tego?Nawigowanie do najwcześniejszego/najnowszego polecenia w historii, kiedy jesteś w środku historii

Odpowiedz

51

Spójrz w man page:

man bash 

Tu kopiowane dla was coś, czego szukasz:

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

Pamiętaj, że gdy klawisz META nie działa, możesz użyć Escape, a następnie < or >. – Benoit

+1

Jak to zrobić w trybie vi? –

+8

Dla tych, którzy wciąż czują się zagubieni: C to Kontrola, a M to klucz Meta. [Więcej w tej odpowiedzi] (http://askubuntu.com/a/19565/323990). W przypadku niektórych systemów klucz Meta to Alt lub Alt + Shift. – totymedli

9

W zależności od tego, jak rzeczy są skonfigurowane do terminala, zazwyczaj można zrobić Ctrl + C zerwać cię z powrotem do początku (bez komentarza), a następnie udać się raz lub dwa razy, aby dostać się do niedawna polecenie, które chcesz.

Alternatywnie, za pomocą polecenia history zostaną wyświetlone wszystkie ostatnie polecenia używane z powiązanymi z nimi wartościami indeksu. !# gdzie # jest numerem indeksu spowoduje ponowne uruchomienie tego polecenia. Przydatna jest komenda history | grep [command], aby spróbować znaleźć konkretne polecenie w historii.

+3

Ctrl-R pozwala na odwrotnej wyszukać swoją historię. –

+0

Nie wiedziałem, że 'Ctrl' +' C' również wróciło do końca historii. +1, ponieważ używam 'byobu', więc''Alt' + '>' jest mapowany na różne funkcje. –