Tại sao `bind` và` .inputrc` lại hành xử khác nhau?


14

Tôi đang cố gắng làm điều đúng đắn và đưa các ràng buộc quan trọng của mình vào ~/.inputrc.

Tuy nhiên, hóa ra tôi phải thay đổi

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

vào

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

Bây giờ \eOH(nav-block-pos1 bị ràng buộc beginning-of-line) và \eOF(nav-block-end bị ràng buộc end-of-line) là các ràng buộc trong cấu hình của tôi mà tôi không thể luôn luôn dựa vào.

Vì vậy, câu hỏi chính là tại sao liên kết với num-block-pos1 ( \e[1~) và num-block-end ( \e[4~) hoạt động với bindnhưng không phải trong tôi ~/.inputrc?


Biên tập:

Toàn bộ vấn đề thậm chí còn phức tạp hơn, bây giờ tôi nhận ra rằng \e\C-jchỉ hoạt động cho Gnome Terminial (hoặc có lẽ là xterm, ai biết ...).

Đối với TTY của tôi, nó phải là

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

Vì vậy, có phải các VT khác nhau có cách triển khai các khóa khác nhau hay không?


Điều này được ghi lại trong hướng dẫn Giao diện người dùng GNU Readline , phần 1.3. Các keymaptùy chọn được sử dụng để thiết lập những loại đại diện quan trọng được sử dụng trong định nghĩa tổ hợp phím. Có liên quan thông tin: superuser.com/questions/286781/... cnswww.cns.cwru.edu/php/chet/readline/rluserman.html#SEC9 wiki.archlinux.org/index.php/Readline
Ярослав Рахматуллин

@ ЯрославРахматуллин Làm thế nào chính xác là có liên quan này để sự khác biệt trong hành vi giữa việc sử dụng bindvà sử dụng inputrccho các ràng buộc thực tế. Họ có nên không sử dụng các cài đặt tương tự?

Câu trả lời:


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.