Горячие клавиши Ch, Cm в bash

Bash использует GNU Readline. Readline предоставляет набор сочетаний клавиш. Тем не менее, есть несколько ярлыков, которые работают на bash и которые не документированы в ссылке Readline. Вот некоторые примеры:

  • Ch – То же, что и Backspace
  • Cm – То же, что и Enter (CR, я думаю)

Так почему же эти ярлыки работают? Я думаю, что они могут иметь какое-то отношение к ASCII, но я не уверен, какой компонент обеспечивает интерпретацию этих контрольных последовательностей как поведение, которое я указал.

Это библиотека Readline? Или это сам баш? Это мой эмулятор терминала? Это ядро? И т.д…

Какой компонент делает эти управляющие последовательности таким образом?

Изменить: Мой файл .inputrc :

 # To the extent possible under law, the author(s) have dedicated all # copyright and related and neighboring rights to this software to the # public domain worldwide. This software is distributed without any warranty. # You should have received a copy of the CC0 Public Domain Dedication along # with this software. # If not, see <http://creativecommons.org/publicdomain/zero/1.0/>. # base-files version 4.2-4 # ~/.inputrc: readline initialization file. # The latest version as installed by the Cygwin Setup program can # always be found at /etc/defaults/etc/skel/.inputrc # Modifying /etc/skel/.inputrc directly will prevent # setup from updating it. # The copy in your home directory (~/.inputrc) is yours, please # feel free to customise it to create a shell # environment to your liking. If you feel a change # would be benifitial to all, please feel free to send # a patch to the cygwin mailing list. # the following line is actually # equivalent to "\C-?": delete-char "\e[3~": delete-char # VT "\e[1~": beginning-of-line "\e[4~": end-of-line # kvt "\e[H": beginning-of-line "\e[F": end-of-line # rxvt and konsole (ie the KDE-app...) "\e[7~": beginning-of-line "\e[8~": end-of-line # VT220 "\eOH": beginning-of-line "\eOF": end-of-line # Allow 8-bit input/output #set meta-flag on #set convert-meta off #set input-meta on #set output-meta on #$if Bash # Don't ring bell on completion #set bell-style none # or, don't beep at me - show me #set bell-style visible # Filename completion/expansion #set completion-ignore-case on #set show-all-if-ambiguous on # Expand homedir name #set expand-tilde on # Append "/" to all dirnames #set mark-directories on #set mark-symlinked-directories on # Match all files #set match-hidden-files on # 'Magic Space' # Insert a space character then performs # a history expansion in the line #Space: magic-space #$endif 

  • Как скопировать текст виртуального терминала из графического режима?
  • изменить внешний вид терминала в соответствии с сервером
  • Как читать с другого терминала?
  • Debian live install '' Как запустить установщик на терминале без прерывания живой сессии? ''
  • Как я могу проверить, какие терминальные определения доступны?
  • Почему на выходе моей команды есть пустые строки ?: find ~ / x / y / | shuf> ~ / Desktop / z.txt
  • Отключить гашение экрана на текстовой консоли
  • Может ли профиль терминала Gnome использовать UTF-8 по умолчанию?
  • 2 Solutions collect form web for “Горячие клавиши Ch, Cm в bash”

    Связывания (отображаются ли они в руководстве или нет) появляются при вводе

     bind -p 

    Например (неполный список):

     "\Cg": abort "\Cx\Cg": abort "\e\Cg": abort "\Cj": accept-line "\Cm": accept-line # alias-expand-line (not bound) # arrow-key-prefix (not bound) # backward-byte (not bound) "\Cb": backward-char # backward-byte (not bound) "\Cb": backward-char "\eOD": backward-char "\e[D": backward-char "\Ch": backward-delete-char "\e[3;5~": backward-delete-char "\C-?": backward-delete-char "\Cx\C-?": backward-kill-line "\e\Ch": backward-kill-word "\e\C-?": backward-kill-word "\eb": backward-word "\e<": beginning-of-history 

    В документе -p параметры -p :

    Команда bind -p отображает имена и привязки функций Readline в формате, который может быть помещен непосредственно в файл инициализации. См. Встроенные в Bash .

    Связывание (чтение исходного кода) зависит от раскладки клавиатуры. Те, которые я цитировал, относятся к ключевой карте emacs , которая инициализируется из встроенной таблицы до применения сценариев. Существует соответствующий файл с таблицами для vi keymap .

    Все это часть Readline (в комплекте с bash ). Когда bash запускается, он определяет привязки, используя эти таблицы. В зависимости от других файлов, которые он читает из /etc/inputrc , ~/.inputrc он может добавлять, изменять или удалять некоторые из этих встроенных привязок.

    Как указано в разделе «1.3 Readline Init File» руководства, на которое вы ссылаетесь, библиотека readline настраивается. Ключи могут быть определены либо в /etc/inputrc , либо в вашем локальном ~/.inputrc .

    Linux и Unix - лучшая ОС в мире.