Шпаргалка по Readline (редактирование командной строки)
Перемещение курсора
Комбинация | Действие |
Ctrl + a /Home | Перейти в начало строки |
Ctrl + e /End | Перейти в конец строки |
Alt + b /Ctrl+← | Перейти на одно слово влево |
Alt + f /ctrl+→ | Перейти на одно слово вправо |
Ctrl + b | Назад на один символ |
Ctrl + f | Вперёд на один символ |
Ctrl + xx | Переключение между текущей и начальной позицией курсора |
Удаление
Комбинация | Действие |
Ctrl + d | Удалить символ под курсором |
Ctrl + h | Удалить символ перед курсором (Backspace) |
Alt + d | Удалить слово вперёд |
Alt + Backspace | Удалить слово назад |
Ctrl + u | Удалить всё до начала строки |
Ctrl + k | Удалить всё до конца строки |
Ctrl + w | Удалить одно слово назад |
Отмена и вставка
Комбинация | Действие |
Ctrl + _ | Отмена последнего действия (Ctrl + Shift + -) |
Ctrl + x, Ctrl + u | Альтернативная отмена |
Ctrl + y | Вставить последнее вырезанное |
Alt + y | Вставить предыдущую вырезанную часть (прокрутка kill-ring) |
Копирование и вырезание (Kill / Yank)
Комбинация | Действие |
Ctrl + k | Вырезать до конца строки |
Ctrl + u | Вырезать до начала строки |
Ctrl + w | Вырезать слово назад |
Alt + d | Вырезать слово вперёд |
Ctrl + y | Вставить вырезанное |
Alt + y | Переключаться между ранее вырезанными (kill-ring) |
Отмена и вставка при редактировании командной строки
Ctrl-_ (на самом деле, нужно нажимать Ctrl + Shift + -) — отменяет последние изменения при редактировании командной строки.
Альтернатива: Ctrl-x Ctrl-u — также выполняет отмену правок (редкая, но удобная комбинация).
Ctrl-y — не отмена удаления, а вставка вырезанного текста (аналог "вставить" после "вырезать").
Alt-y — позволяет «прокручивать» предыдущие варианты вырезанного текста и вставлять нужный из буфера.
Очень удобно использовать Ctrl-y вместе с Alt-y для выбора нужного фрагмента из истории вырезок.
P.S. Оказалось, Ctrl-x Ctrl-u — реально работает! Никогда раньше не пользовался, но полезная штука :)
История команд
Комбинация | Действие |
Ctrl + p | Предыдущая команда, (как ↑) |
Ctrl + n | Следующая команда, (как ↓) |
Alt + . | Вставить последний аргумент предыдущей команды |
Ctrl + r | Поиск по истории в интерактивном режиме (reverse-i-search) |
Ctrl + s | Поиск по истории вперёд |
Ctrl + g | Прервать поиск |
Alt+< | Перейти в начало истории |
Alt+> | Перейти в конец истории |
!! | Повторить последнюю команду |
!n | Выполнить команду с номером n из истории |
!стр | Выполнить последнюю команду, начинавшуюся со "стр" |
Повтор последней команды с дополнением
!! параметр | Выполнить последнюю команду, добавив параметр (например: `!! -l`) |
!$ | Последний аргумент предыдущей команды |
!* | Все аргументы предыдущей команды |
^стар^нов | Повторить последнюю команду, заменив слово (например: `cat less`) |
!!:n | Взять n-й аргумент последней команды (нумерация с 0) |
!!:$ | Взять последний аргумент последней команды |
Прочее
Комбинация | Действие |
Ctrl + l | Очистить экран (как `clear`) |
Ctrl + t | Поменять местами два символа |
Alt + t | Поменять местами два слова |
Alt + u | Сделать слово заглавным |
Alt + l | Сделать слово строчными буквами |
Alt + c | Сделать первую букву слова заглавной |
Добавь в `~/.inputrc`, чтобы улучшить поведение readline: