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
, cd
Alt-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+r
przywró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 extglob
włą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
, less
i coś jeszcze dużo zrobić. ( cp -i
, mv -i
i rm -I
są ł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 less
skonfigurować 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 8
na 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
;)