Ostatnio przeglądałem klawisze skrótów bash i próbowałem znaleźć odpowiedni dla mojego klucza aktywacyjnego tmux.
Uważam to za interesujące ctrl + m
i ctrl + q
nie są używane w skrótach bash, zgodnie z https://en.wikipedia.org/wiki/Bash_(Unix_shell) .
Dlaczego nie są używane? Czuję ctrl + m
się całkiem przydatny.
Czy te dwie kombinacje są z założenia przeznaczone do DIY (define it yourself)
użycia? Czy jest jeszcze inna historia?
ALT + m
jest jeszcze wygodniejszym imho.Odpowiedzi:
Ctrl + M wysyła ten sam znak (RET), co klawisz Enter w terminalu. Programy nie mają możliwości ich rozróżnienia, więc tych kluczy nie można skonfigurować osobno.
Ctrl + Q jest już domyślnie używany dla XON , więc nie może być używany przez Bash, ale nadal powinieneś być w stanie używać go w tmux, ponieważ tmux używa trybu surowego wprowadzania.
Program GUI może odczytać z klawiatury, że klawisz m został wciśnięty z modyfikatorem Ctrl i użyć Ctrl + m jako skrótu, ale powłoka lub dowolny program terminalowy odbiera kombinacje Ctrl + klawisz tak samo, jak znaki ascii od 0 do 26
i tak dalej. Możesz spróbować to, aby zobaczyć wartości
Aby wprowadzić wartości, naciśnij Ctrl + v przed Ctrl + [af], aby nie interpretować ich jako wartości surowej.
Gdy spojrzysz na tabelę ascii (7), zobaczysz kody kontrolne w tabeli z odpowiednimi znakami @ .. Z po lewej stronie. Na przykład
lub
Następna warstwa, która interpretuje kody sterujące przed bash, jest sztywna (zmień i wydrukuj ustawienia terminala)
patrz stty (1) w odniesieniu do znaczeń
lnext
lubstart
istop
.Zobacz także readline (3), ponieważ bash i inne programy GNU cli używają tej biblioteki do sterowania liniami wejściowymi i oczywiście bash (1) / READLINE, sekcja readline strony podręcznika bash.
Uwaga: XYZ (NUM) oznacza stronę podręcznika XYZ z sekcji NUM, więc wynik
man NUM XYZ
.źródło
C-q
z tym samym, coC-v
klon funkcji Emacsa,quoted-insert
który jest użyteczny przy ustalaniu kodów ucieczki generowanych przez klucze i kombinacje klawiszy. Oto odpowiednia część podręcznika Readline