Bash - командный интерпретатор GNU Bourne


Горячие клавиши 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 с помощью встроенной команды . Режим редактирования можно переключать в ходе интерактивной работы с помощью опции встроенной команды (см. раздел "" ниже).



Содержание раздела