Управление пользовательским вводом в интерактивном режиме осуществляется посредством функций библиотеки readline, которая предоставляет пользователю широкий набор операции редактирования командной строки. По умолчанию команды редактирования строки аналогичны используемым в текстовом редакторе emacs. Поддерживается также стиль редактирования vi (переключение между стилями осуществляется с помощью встроенной команды set).
Большинство команд редактирования можно вызвать, используя клавиатурные эквиваленты. В таблице приведены лишь некоторые из наиболее употребимых команд. Запись C-x в данном случае означает нажатие клавиши x с зажатой клавишей Control, M-x — клавиши x с зажатой клавишей Meta (Alt), ESC x означает последовательное нажатие клавиш Escape, затем x. Readline допускает переопределение клавиатурных эквивалетов (файлы /etc/inputrc и .inputrc в домашнем каталоге пользователя).
# | Описание | Комбинация |
---|---|---|
1 | Перемещение курсора в начало текущей строки | C-a |
2 | Перемещение курсора в конец текущей строки | C-e |
3 | Перемещение курсора на один символ вперед | C-f |
4 | Перемещение курсора на один символ назад | C-b |
5 | Перемещение курсора на последний символ следующего слова | M-f |
6 | Перемещение курсора на первый символ текущего или предыдующего слова | M-b |
7 | Очистить экран | C-l |
8 | Переход к предыдущей команде в истории команд | C-p или up |
9 | Переход к следующей команде в истории команд | C-n или down |
10 | Переход к началу истории команд | M-< |
11 | Переход в конец истории команд | M-> |
12 | Обратный поиск в истории команд | C-r |
13 | Удаление следующего символа | C-d или Delete |
14 | Удаление предыдущего символа | Backspace |
15 | Обмен символа перед курсором с символом под курсором | C-t |
16 | Обмен слова перед курсором с словом под курсором | M-t |
17 | Приведение всех символов текущего слова к верхнему регистру | M-u |
18 | Приведение всех символов текущего слова к нижнему регистру | M-l |
19 | Капитализация текущего слова | M-c |
20 | Удаление части строки от текущей позиции до конца | C-k |
21 | Удаление части строки от начала до текущей позиции | C-x Backspace |
22 | Удаление части строки от текущей позиции до конца слова | M-d |
23 | Удаление части строки от начала слова до текущей позиции | M-Backspace |
24 | Автодополнение переменной, имени пользователя или команды | TAB |
25 | Откат операции | C-_ |