Apa format umum keyname untuk binding utama dalam file “inputrc”?

17

Saya mengerti bahwa format untuk binding utama dalam inputrcfile adalah:

keyname: function-name or macro

Untuk keyname, saya melihat hal-hal seperti:

"\e[B"
"\e[1~"
"\e[5D"
"\M-l"
"\C-[OD"
"\e\e[D"

Apa arti dari keynames ini, dan apa format umum untuk keyname? Silakan bagikan tautan ke dokumen.

Misha Moroshko
sumber
2
Untuk dokumen Anda, saya sarankan melihat readline(3)manual atau manual pengguna readline .
jw013
1
Periksa Anda konfigurasi utama (readline - inputrc) melalui: $ bind -p
vigo

Jawaban:

12

Pengikat kunci dapat dilakukan menggunakan salah satu dari formulir berikut:

  1. keyname: command_name
  2. "keystroke_ berikutnyaence": command_name

Dalam bentuk pertama Anda bisa mengeja nama untuk satu kunci. Sebagai contoh, CONTROL-U akan ditulis sebagai control-u. Ini berguna untuk mengikat perintah ke satu kunci.

Di formulir kedua, Anda menentukan string yang menggambarkan urutan kunci yang akan terikat pada perintah. Yang Anda berikan sebagai contoh adalah urutan melarikan diri emacs-tyle backslash untuk mewakili kunci khusus

\C- Kontrol
\M- Meta
\e- Escape

Anda dapat menentukan backslash menggunakan backslash lain - \\. Demikian pula 'dan "dapat melarikan diri juga - \'dan\"

Memperbarui

Karakter-karakter ini adalah apa yang ditafsirkan oleh terminal Anda ketika Anda menekan tombol khusus. Anda tidak ingin mengikat huruf dan angka biasa dalam pengikatan kunci Anda karena Anda mungkin menggunakannya secara teratur dan dapat menyebabkan masalah ketika Anda secara tidak sengaja menekan kombinasi yang telah dipetakan dalam file ~/.inputrcatau Anda /etc/inputrc.

[1~ is what is interpreted by your terminal when you press your HOME button. 

Untuk mempelajari lebih lanjut, cukup ketik readprompt terminal Anda dan tekan semua jenis tombol khusus seperti Tombol Fungsi, HOME, END, Tombol Panah dll dan lihat apa yang ditampilkan.

Berikut ini adalah referensi kecil yang saya temukan yang dapat menawarkan beberapa pemahaman dasar. Semoga berhasil! :)

jaypal singh
sumber
2
Apa \e[1~, \M-ldan \C-[ODberarti? Bagian \e,, \Mdan \Cbagian-bagiannya jelas. Bagaimana dengan sisanya? Misalnya: [1~- Haruskah saya menekan Shift+ {+ 1+ Shift+ `?
Misha Moroshko
Saya telah memperbarui jawabannya untuk Anda. Semoga itu bisa membantu!
jaypal singh
Tautan rusak. Masih tidak tahu untuk apa tilde atau braket terbuka ??
Carl Smith