Горячие клавиши 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 

  • vim на FreeBSD не реагирует правильно на клавиши со стрелками и другие видоподобные поведения
  • Можно ли включить поддержку фреймбуфера в xterm
  • Предотвращать передачу SSH-клиента переменной TERM на сервер?
  • Команда `ls -ltu` не может отображать папки / файлы на основе последнего времени доступа
  • Backspace, вкладка не работает в терминале (с использованием ssh)
  • Перезагрузка zsh при изменении размера окна терминатора
  • дождитесь завершения подключения autossh
  • параметр ядра init = / bin / bash не работает? (RHEL7, тест RHCSA)
  • 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 .

    Interesting Posts

    Могу ли я установить ящик Debian для использования серверов имен OpenDNS, если он использует DHCP?

    Нужны объяснения о проблеме SSL и процессе установки

    Почему вывод для `grep -o` совпадает с LC_ALL = C или без него?

    Как zgrep несколько строк

    Серийный номер жесткого диска от терминала?

    Как окончательно удалить eth0.x в CentOS

    Почему хеш-символ Gedit расширен и интерпретируется неправильно в интернет-браузерах?

    поведение dd, запись по умолчанию и разделы

    Как техническая обработка предварительной загрузки с использованием шифрования диска?

    Отсоединение в Mutt

    Как запустить простую программу Java с помощью команды терминала?

    Распределение подкачки Solaris с объединенной общей памятью

    Почему startx зависает, если у меня нет подключения к Интернету в OpenBSD

    почему я получаю «причина: этот сервер не требует аутентификации» в xpra

    Как я могу идентифицировать свою систему после успешной загрузки. погода, это был крушение, или это было выключение или перезагрузка или что-то еще?

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