Горячие клавиши readline
Привязки клавиш в файле inputrc задаются с помощью простого синтаксиса. Необходимо указать только имя команды или текст макроподстановки, и горячие клавиши, с которыми его надо связать. Горячие клавиши можно задавать двумя способами: как символическое имя клавиши, возможно, с префиксом Meta- или Control-, или как комбинацию клавиш. При использовании формы имя_клавиши:имя_функции или макроподстановка, имя_клавиши просто задается на английском. Например:
Control-u: universal-argument
Meta-Rubout: backward-kill-word
Control-o: "> output"
В этом примере комбинация клавиш C-u связывается с функцией universal-argument, M-DEL - с функцией backward-kill-word, а C-o - с макроподстановкой, указанной в правой части (т.е. приведет к вставке текста > output в строку).
Во второй форме, "комбинация_клавиш":имя_функции или макроподстановка, комбинация клавиш отличается от использованного выше имени клавиши тем, что может задаваться в двойных кавычках. При этом можно использовать некоторые управляющие символы в стиле GNU Emacs, как в следующем примере.
"\C-u": universal-argument
"\C-x\C-r": re-read-init-file
"\e[11~": "Function Key 1"
В этом примере, комбинация клавиш C-u опять связывается с функцией universal-argument. Комбинация C-x C-r связывается с функцией re-read-init-file, а комбинация ESC [ 1 1 ~ будет приводить к вставке текста Function Key 1. Полный набор управляющих последовательностей в стиле GNU Emacs представлен ниже.
\C- | префикс клавиши Control |
\M- | префикс клавиши Meta |
\e | управляющий символ |
\\ | обратная косая |
\" | символ " |
\' | символ ' |
Помимо управляющих последовательностей в стиле GNU Emacs, имеется еще один набор управляющих последовательностей, начинающихся с обратной косой:
\a | предупреждение (звонок) |
\b | забой (backspace) |
\d | удаление символа (delete) |
\f | перевод страницы (form feed) |
\n | новая строка |
\r | возврат каретки |
\t | горизонтальная табуляция |
\v | вертикальная табуляция |
\nnn | символ, ASCII-код которого имеет восьмеричное значение nnn (от одной до трех цифр) |
\xnnn | символ, ASCII-код которого имеет щестнадцатеричное значение nnn
(от одной до трех цифр) |
При вводе текста макроподстановки необходимо для ее обозначения указывать одиночные или двойные кавычки. Текст без кавычек считается именем функции. В теле макроподстановки интерпретируются перечисленные выше управляющие последовательности, начинающиеся с обратной косой. Обратная косая маскирует любой другой символ в тексте макроподстановки, в том числе, символы " и '.
Командный интерпретатор bash позволяет просмотреть или изменить текущие горячие клавиши библиотеки readline с помощью встроенной команды . Режим редактирования можно переключать в ходе интерактивной работы с помощью опции встроенной команды (см. раздел "" ниже).