Mengapa `bind` dan` .inputrc` berperilaku berbeda?

14

Saya mencoba melakukan hal yang benar dan memasukkan ikatan kunci saya ke dalamnya ~/.inputrc.

Namun, ternyata saya harus berubah

bind '"\e\C-j":"\e[1~quiet \e[4~\n"'

ke

"\e\C-j": "\eOHquiet \eOF\n"

Sekarang \eOH(nav-block-pos1 terikat ke beginning-of-line) dan \eOF(nav-block-end terikat ke end-of-line) adalah binding sendiri dalam konfigurasi saya yang saya mungkin tidak selalu bisa mengandalkan.

Jadi pertanyaan utamanya adalah mengapa mengikat num-block-pos1 ( \e[1~) dan num-block-end ( \e[4~) bekerja dengan bindtetapi tidak pada saya ~/.inputrc?


Edit:

Semuanya menjadi semakin rumit, sekarang saya menyadari bahwa \e\C-jhanya berfungsi untuk Gnome Terminial (atau mungkin xterm juga, siapa tahu ...).

Untuk TTY saya itu harus

"\e\C-m": "\e[1~_quiet \e[4~\n"

Jadi apakah berbagai VT memiliki implementasi yang berbeda tentang bagaimana menafsirkan kunci atau apa?


sumber
Ini didokumentasikan dalam manual Antarmuka Pengguna GNU Readline , bagian 1.3. The keymapopsi digunakan untuk set jenis representasi kunci digunakan dalam definisi binding kunci. Informasi yang relevan: superuser.com/questions/286781/… cnswww.cns.cwru.edu/php/chet/readline/rluserman.html#SEC9 wiki.archlinux.org/index.php/Readline
Ярослав Рахматуллин at
@ ЯрославРахматуллин Bagaimana tepatnya ini relevan dengan perbedaan perilaku antara menggunakan binddan menggunakan inputrcuntuk penjilidan yang sebenarnya. Haruskah mereka tidak menggunakan pengaturan yang sama?

Jawaban: