Domyślne są man bash
, wraz ze szczegółami, co robi każde polecenie. Zobacz odpowiedź BroSlow, jeśli zmieniłeś przypisania klawiszy.
Commands for Moving
beginning-of-line (C-a)
Move to the start of the current line.
end-of-line (C-e)
Move to the end of the line.
forward-char (C-f)
Move forward a character.
backward-char (C-b)
Move back a character.
forward-word (M-f)
Move forward to the end of the next word. Words are composed of alphanumeric characters (letters and digits).
backward-word (M-b)
Move back to the start of the current or previous word. Words are composed of alphanumeric characters (letters and digits).
shell-forward-word
Move forward to the end of the next word. Words are delimited by non-quoted shell metacharacters.
shell-backward-word
Move back to the start of the current or previous word. Words are delimited by non-quoted shell metacharacters.
clear-screen (C-l)
Clear the screen leaving the current line at the top of the screen. With an argument, refresh the current line without clearing the screen.
...
reverse-search-history (C-r)
Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.
...
unix-line-discard (C-u)
Kill backward from point to the beginning of the line. The killed text is saved on the kill-ring.
...
yank (C-y)
Yank the top of the kill ring into the buffer at point.
EDYTOWAĆ
Wszystkie te polecenia znajdują się w ciągłej części instrukcji, dzięki czemu można je przeglądać Commands for Moving
. Alternatywnie możesz zapisać całą sekcję do pliku tekstowego za pomocą
man bash | awk '/^ Commands for Moving$/{print_this=1} /^ Programmable Completion$/{print_this=0} print_this==1{sub(/^ /,""); print}' > bash_commands.txt
(Uwaga: powoduje to wydrukowanie całej sekcji, w tym poleceń bez domyślnego skrótu klawiaturowego).
Objaśnienie kodu awk
- W przypadku (tylko) wystąpienia
Commands for Moving
ustaw zmienną print_this
na 1.
- W (tylko) wystąpieniu
Programmable Completion
, które jest następną sekcją, ustaw zmienną na 0.
- Jeśli zmienna ma wartość 1, usuń wiodące białe znaki (trzy spacje) i wydrukuj linię.
bind -P
byłoby bardziej precyzyjne.Readline Command Names
, zobaczysz wszystkie polecenia w tej sekcji. Napiszę krótki skrypt, aby wyodrębnić go do pliku tekstowego, ale nie mogę tego teraz zrobić (będę miał czas za kilka godzin).Możesz wyświetlić listę wszystkich skrótów w bieżącej powłoce bash, wywołując wbudowane bash
bind
z-P
opcją.na przykład
Aby je zmienić, możesz zrobić coś takiego
I umieść go w pliku inicjującym, aby stał się trwały (pamiętaj, że kombinacja klawiszy może być powiązana tylko z jedną rzeczą na raz, aby straciła wszelkie wcześniejsze powiązania).
źródło
bind -P
powinien dać ci wszystkie skróty. Jeśli masz na myśli ignorowanie tych, które nie mają mapowań dla funkcji bind / readline, możesz zrobić coś takiegobind -P | grep -v "not bound"
Poniższe polecenie daje ładne wyjście kolumnowe pokazujące użycie i skróty.
Daje to wynik, który wygląda
Pobierz to wyjście do pliku tekstowego za pomocą następującego polecenia
Plik jest tworzony w katalogu $ HOME.
Wyjaśnienie
dostaje wszystkie skróty.
usuwa wszystkie nieprzypisane skróty
sortuje dane wyjściowe
wypisuje pierwszą kolumnę (tj. funkcję) i justuje tekst
Jest to część poprzedniego polecenia. Drukuje kolumny 6+ (tj. Skróty).
Umieszcza dane wyjściowe w ładnym pliku tekstowym w katalogu domowym o nazwie skróty
Możesz dowiedzieć się, jak działa to polecenie, uruchamiając następujące polecenia.
źródło
bind -P | tail -n +2 | sort | awk '{printf "%-40s", $1} {if ($6 == "any") {printf"\n"} else {for(i=6;i<=NF;i++){printf "%s ", $i}{printf"\n"}}}'
Ok, mam sposób na uzyskanie listy skrótów przez filtrowanie instrukcji bash . Poda także opis tego, co dokładnie robi każdy skrót. Dzięki Sparhawk, który oświecił mnie do znalezienia rozwiązania. Potrzebowałem nauczyć się używania wyrażeń regularnych, chociaż nadal nie jestem w tym dobry :)
To wszystko, czego potrzebowałem. Chciałem tylko poznać klawisze skrótów przypisane do bash i nie zmieniłem konfiguracji żadnych klawiszy, o co poprosił mnie BroSlow .
Jeszcze raz dziękuję wszystkim za ich wkład.
Uwaga :
Jeśli ktoś chce to poprawić, jest bardzo mile widziany. Wspomniałem tylko o sposobie wyświetlania skrótów przypisanych przez niektóre klawisze. Więc jeśli ktoś wie, jak wymienić te działania, które nie zostały przypisane do opisu w ten sposób , jest bardzo mile widziane :)
źródło
dump-macros
), Chociaż może to być to, czego chcesz.Dopóki instrukcja bash nie zostanie zmodyfikowana w sposób powodujący, że to polecenie będzie niewłaściwe (co jest mało prawdopodobne), poniższe polecenie pokaże wszystkie domyślne skróty dla
bash
.Daje to wynik, który wygląda następująco:
Jeśli instrukcja bash zostanie zmodyfikowana, to polecenie można łatwo zmienić w celu dopasowania do potrzeb.
źródło