Używam więc upw mojej powłoce (głównie Bash na OSX lub Ubuntu), ale czasami wiem, że chcę rzeczy po bieżącej lokalizacji kursora. Czy jest jakiś sposób na uzupełnienie linii, którą mam na linii powyżej? Uderzenie, upa następnie leftjest denerwujące.
Wszelkie inne sztuczki też byłyby fajne, z wyjątkiem tych tab, o których wszyscy teraz wiemy :)
Oto przykład (na żądanie kwakra):
Piszę, mkdir /where/the/hell/is/that/thing
a następnie chcę cd do tego samego katalogu. Ale teraz wiem o meta-b :)
keyboard-shortcuts
bash
Dan Rosenstark
źródło
źródło
Odpowiedzi:
Spróbuj tego:
następnie naciśnij alt+.
w zależności od systemu operacyjnego i zacisk może trzeba wpisać escnastępnie.
Możesz także nacisnąć alt+ 1+, .aby wybrać konkretny poprzedni argument.
To jest o wiele lepsze niż !! lub! $, ponieważ faktycznie możesz zobaczyć, co masz zamiar uruchomić, i to i tak wymaga mniejszej liczby naciśnięć klawiszy.
edit: ściśle mówiąc to metanie alt, więc może także współpracować z klawisza „Windows” w zależności od tego, jak klawiatura jest ustawiony ..
źródło
Powinieneś przeczytać man bash w swoim systemie, szczególnie sekcję Readline , ponieważ jest to interaktywny mechanizm wprowadzania bash. Podręcznik Bash na gnu.org zawiera przyjemną sekcję dotyczącą edycji wiersza poleceń , która pomoże wypełnić niektóre luki.
Domyślnie możesz ich użyć do poruszania się po linii poleceń (wystarczy wymienić kilka tutaj; zobacz link do pełnej listy):
Możesz ich użyć do „zabicia” (aka „wycięcia”) tekstu z linii:
Możesz więc połączyć je, aby wybrać fragment linii poleceń, który chcesz powtórzyć, zabić go, a następnie wkleić na końcu następnego polecenia.
Teraz, aby było jeszcze przyjemniej, rozważmy rozszerzenie historii bash . Oto, o
!!
czym wspomina Studer . Przerwy dylatacyjne historia dół do oznaczników zdarzeń , oznaczników słownych i modyfikatorów .Oznaczniki zdarzeń wyglądają tak (ponownie, zobacz linki do pełnej listy):
!
- rozpoczyna podstawianie historii!n
- n-ta komenda na liście historii basha, dla niektórych liczb całkowitych n (działa również na negatywy)!!
- poprzedzające polecenie; równoważny!-1
!string
- najnowsza komenda zaczynająca się od łańcuchaProjektanci słów wybierają określone części ze zdarzenia. Użyj,
:
aby oddzielić zdarzenie od desygnatora słowa. Słowa są ponumerowane od 0, zaczynając od początku linii, i wstawione do bieżącej linii oddzielone pojedynczymi spacjami.$
- wyznacza ostatni argument (np.!!:$
jest ostatnim argumentem ostatniego polecenia; można go skrócić!$
)n
- oznacza n-ty wyraz (np.!str:2
jest drugim argumentem najnowszego polecenia rozpoczynającego się od str ;!!:0
jest poleceniem ostatniego polecenia)Tak więc, aby śledzić twój przykład, jeśli twoje ostatnie polecenie jest
mkdir /some/really/long/path
, wystarczy uruchomić!!
ponownie polecenie. Alecd
zamiast tego chcesz przejść na tę ścieżkę:Powiedzmy teraz, że wykonujesz inne polecenia, a następnie chcesz ponownie powrócić do tej ścieżki. Jeśli to było ostatnie polecenie mkdir, które uruchomiłeś, możesz użyć tego, aby powtórzyć tę ścieżkę:
źródło
bind -p
lubbind -P
wydrukuje twoje obecne skróty klawiszowe; to ostateczne odniesienie do tego, czego używa twoja bash .Jeśli jesteś użytkownikiem vi, możesz przełączyć powłokę w tryb vi, pisząc
set -o vi
.Następnie możesz pisać różnego rodzaju potężne rzeczy w wierszu poleceń po wpisaniu
Esc + k
.Z którego korzystam najczęściej jest
Esc+K
następnie/
dowolny tekst wpisany po ukośnik będzie używany do przeszukiwania historii wiersza poleceń.np.
Esc + k
/smbclient
poda ostatnie wpisane polecenie smbclient. Możesz przewijać wszystkie wyszukiwania za pomocą standardowych klawiszy vi (j
ik
do góry i na dół, ale myślę, że strzałki w górę i w dół też będą działać).Dalsza pomoc tutaj , jest też kilka wbudowanych bashów pod tym linkiem, które mogą być bardziej tym, czego szukasz.
Na zdrowie, Stu.
źródło
Możesz użyć,
!!
która reprezentuje ostatnie polecenie:źródło
!!
jest synonimem dla!-1
: gnu.org/software/bash/manual/bashref.html#Event-DesignatorsW podanym przykładzie użyj! $ Do przedstawienia ostatniego parametru poprzedniego polecenia:
Możesz także użyć numerowanych odmian, aby wyciągnąć określone parametry poprzednich poleceń.
źródło
Niedawno uznałem ten tekstowy ściągawka za bardzo przydatny. Wiele rzeczy, których nie wiedziałem. Używałem
!$
cały czas, aż dowiedziałem się o Alt+ ., z którego teraz korzystam cały czas. :)źródło