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

  • Могу ли я получить доступ к файлу терминала?
  • Потенциальные проблемы (если они есть) при рекурсивной замене пробелов символами подчеркивания во всех именах файлов на жестком диске
  • Закрыть / убить / скрыть одно окно терминала в bash on 'process complete'
  • Почему xfreerdp говорит «подключен» три раза каждый раз?
  • Git Server Bash и SSH
  • Dotfile не работает в текущей оболочке, нужен новый
  • Команда восстановления файловой системы после установки ОС
  • Использование клавиш VI для редактирования команд оболочки в UNIX
  • 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

    Правильно вставлять образцы кода в man-страницы

    Где я могу найти файл screenlog.0?

    Аудио перестало работать в Xine в Debian

    «PARTUUID» в «/ etc / fstab» и (аппаратное) RAID0 не хорошо сочетаются вместе, не так ли?

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

    Присоедините два файла, каждый из которых содержит два столбца, которые имеют несколько столбцов.

    AWS Исходящие правила ACL влияют на входящие соединения ssh

    Использовать сценарий ожидания из Vagrantfile для обеспечения – проблема с несуществующим файлом во время выполнения

    Как распечатать переменную с выравниванием по центру?

    Запустите скрипт, прежде чем что-либо появится на экране после входа в систему

    Следите за временем ssh'd в рабочий компьютер для карты времени

    Установка skype в Linux Mint / Debian

    Возврат оболочки каждого пользователя по умолчанию

    как я могу запускать старые программы из MIPS?

    Есть ли макет программы, которая использует процессор на нескольких ядрах?

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