Ctrl + M gửi cùng ký tự (RET) làm phím Enter trong thiết bị đầu cuối. Các chương trình không có cách nào để phân biệt chúng, vì vậy các phím này không thể được cấu hình riêng.
Ctrl + Q đã được sử dụng cho XON theo mặc định, do đó Bash không thể được sử dụng, nhưng bạn vẫn có thể sử dụng nó trong tmux, vì tmux sử dụng chế độ nhập liệu thô.
Một chương trình GUI có thể đọc từ bàn phím, Phím m đã được nhấn bằng phím sửa đổi Ctrl và sử dụng Ctrl + m làm phím tắt, nhưng trình bao hoặc bất kỳ chương trình đầu cuối nào nhận được tổ hợp Ctrl + Phím giống như các ký tự ascii từ 0 đến 26
Ctrl+@ = 0
Ctrl+A = 1
Ctrl+B = 2
và như thế. Bạn có thể thử điều này để xem các giá trị
cat ctrlkeys <<EOF
^A^B^C^D^E^F
EOF
od -c ctrlkeys
0000000 001 002 003 004 005 006 \n
Để nhập các giá trị, nhấn Ctrl + v trước Ctrl + [af] để làm cho chúng không bị hiểu là giá trị thô.
Khi bạn nhìn vào bảng ascii (7), bạn có thể thấy các mã điều khiển trong một bảng có các ký tự tương ứng @ .. Z ở bên trái. Ví dụ
015 13 0D CR '\r' (carriage ret) 115 77 4D M
hoặc là
011 9 09 HT '\t' (horizontal tab) 111 73 49 I
Lớp tiếp theo diễn giải mã kiểm soát trước khi bash là stty (thay đổi và in cài đặt đầu cuối)
stty -a
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
xem stty (1) để biết ý nghĩa của lnext
hoặc start
và stop
.
Đồng thời xem readline (3) là bash và các chương trình GNU cli khác sử dụng thư viện đó để kiểm soát các dòng đầu vào và tất nhiên là bash (1) / READLINE, phần readline của trang hướng dẫn bash.
Lưu ý: XYZ (NUM) có nghĩa là XYZ trang thủ công từ phần NUM, do đó, kết quả của man NUM XYZ
.
ALT + m
thậm chí còn thuận tiện hơn imho.