Содержание

Шпаргалка по Readline (редактирование командной строки)

Readline — библиотека редактирования командной строки, используемая в Bash, Python REPL, PostgreSQL psql и других CLI-интерфейсах.

Использование быстрых клавиш в командной строке Linux (BASH)

Перемещение курсора

Комбинация Действие
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-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

Добавь в `~/.inputrc`, чтобы улучшить поведение readline: