Ctrl + M mengirimkan karakter yang sama (RET) sebagai tombol Enter di terminal. Program tidak memiliki cara untuk membedakannya, sehingga tombol-tombol ini tidak dapat dikonfigurasi secara terpisah.
Ctrl + Q sudah digunakan untuk XON secara default, jadi itu tidak bisa digunakan oleh Bash, tetapi Anda masih bisa menggunakannya di tmux, karena tmux menggunakan mode input mentah.
Program GUI dapat membaca dari keyboard, bahwa Kunci m telah ditekan dengan pengubah Ctrl dan menggunakan Ctrl + m sebagai jalan pintas, tetapi shell atau program terminal apa pun menerima kombinasi Ctrl + Key seperti halnya karakter ascii dari 0 hingga 26
Ctrl+@ = 0
Ctrl+A = 1
Ctrl+B = 2
dan seterusnya. Anda dapat mencoba ini untuk melihat nilainya
cat ctrlkeys <<EOF
^A^B^C^D^E^F
EOF
od -c ctrlkeys
0000000 001 002 003 004 005 006 \n
Untuk memasukkan nilai, tekan Ctrl + v sebelum Ctrl + [af] untuk membuatnya tidak diinterpretasikan sebagai nilai mentah.
Ketika Anda melihat tabel ascii (7), Anda dapat melihat kode kontrol dalam tabel dengan karakter yang sesuai @ .. Z di sebelah kiri. Sebagai contoh
015 13 0D CR '\r' (carriage ret) 115 77 4D M
atau
011 9 09 HT '\t' (horizontal tab) 111 73 49 I
Lapisan berikutnya yang menginterpretasikan kode kontrol sebelum bash adalah stty (ubah dan cetak pengaturan terminal)
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;
lihat stty (1) untuk arti dari lnext
atau start
dan stop
.
Juga lihat readline (3) sebagai bash dan program cli GNU lainnya menggunakan perpustakaan itu untuk mengontrol jalur input dan tentu saja bash (1) / READLINE, bagian readline dari halaman manual bash.
Catatan: XYZ (NUM) berarti halaman manual XYZ dari bagian NUM, jadi hasilnya man NUM XYZ
.
ALT + m
imho bahkan lebih nyaman.