Oprócz historii i-search ^ r / ^:
alt.wstawia ostatnie „słowo” poprzedniego polecenia pod kursorem. Powtórz to, aby uzyskać ostatnie słowo ze starszych poleceń. (Zauważ jednak, że &ostatni znak jest ostatnim słowem dla poleceń w tle).
Jest to bardzo przydatne dla mkdir foo, cdAlt-kropka. Nawet szybciej niż strzałka w górę ^ a, alt-d (usuwanie naprzód słowo) cd.
Aby uzyskać słowo od drugiego do ostatniego, użyj esc - 2 alt+.(tzn. Użyj argumentu numerycznego w stylu emacsa do alt+.. Negatywne liczy się od końca, pozytywne liczy się od początku.) Ale to zwykle jest więcej kłopotów niż jest warte; w pewnym momencie szybciej jest sięgnąć po mysz i skopiować / wkleić lub strzałkę w górę i ^ w / ^ y jej część (patrz poniżej).
Jeśli twój terminal jest skonfigurowany ładnie / poprawnie, ctrl-lewy i ctrl-prawy będą przewijać słowa do tyłu / do przodu. Jeśli nie, mam nadzieję, że przynajmniej Alt-B i Alt-F zrobią to samo.
ctrl- / jest cofnięciem. Możesz użyć automatycznego powtarzania do usuwania słów o wiele bardziej efektywnie, jeśli możesz cofnąć, gdy nieco przekroczysz limit.
Bardziej wydajne mieszanie / dopasowywanie poleceń pochodzi z użycia pierścienia zabijania, który działa tak samo jak w Emacsie. ctrl-y, aby wkleić ostatnie ctrl-w / ctrl-u / ctrl-backspace / alt-d. Alt-y, aby przewijać starszy zabity tekst.
Wiele kombinacji klawiszy Ctrl-W lub cokolwiek z rzędu robi się przy wejściu Kill-Ring. Użyj lewej i prawej strzałki lub czegoś, aby rozbić wpis, jeśli chcesz usunąć dwie rzeczy i wkleić tylko jedną później.
Łącząc je wszystkie razem, możesz
- zacznij pisać polecenie
- ctrl-r, aby wrócić do starego polecenia i przejąć jego część za pomocą klawiszy control-w lub podobnych.
- esc-r lub
alt+rprzywrócić go do stanu sprzed usunięcia części.
- alt -
>aby przejść do końca historii (tj. strzałka w dół do końca), aby wrócić do polecenia, w którym się znajdowałeś.
Inne wskazówki dotyczące interaktywnego użytkowania:
Włącz shopt -s globstar, abyś mógł to zrobić **/*.c(rekurencyjne, w tym bieżący katalog). Czasami przydatny do użytku interaktywnego, ale zwykle find -name '*.c' -exec foo {} +jest lepszy.
Jeśli piszesz skrypty bash, przydaje się również shopt -s extglobwłączenie ich w interaktywnych powłokach. Będziesz czasami znaleźć zastosowanie do rzeczy, jak *.!(c|h)dopasować pliki, które nie kończą się .c lub .h.
Znajdź dla aliasów chcesz ls -l, lessi coś jeszcze dużo zrobić. ( cp -i, mv -ii rm -Isą ładne. Nie przyzwyczajaj się do polegania na nich, aby robić selektywne rm. GNU rm's-pytam raz o wszystkie argumenty.)
Lubię alias m=less(m dla „więcej”). Mam lessskonfigurować z ,i .zobowiązany do poprzedniego / następnego pliku ( lesskey). Domyślnie jest to sekwencja wielokrotnego naciskania, której nie można używać z autorepeat.
Lubię robić wszystko na ekranie GNU. Śledzenie numerowanych okien ekranowych jest dla mnie łatwiejsze niż mnóstwo kart w Konsole (lub innym emulatorze terminala, którego próbowałem). Jeśli jeszcze tego nie wiesz screen, naucz się tmux, ponieważ jest nowszy i mniej kruchy.
Aby uzyskać coś takiego jak funkcjonalność otwierania nowej powłoki z tym samym cwd co inna powłoka, używam niestandardowego haka dla cd / pushd / popd, który pozwala mi cds 8na cd do dowolnego katalogu, którego używa moja powłoka w oknie ekranowym 8. Działa to nawet w przypadku powłok poza sesją ekranową, o ile istnieje tylko jedna sesja ekranowa.
fish;)