Шпаргалка по хоткеям bash. Два режима: обычный readline (emacs-биндинги, дефолт) и set -o vi.

Emacs-режим (по умолчанию)

Навигация по строке

ХоткейДействие
Ctrl Aв начало строки
Ctrl Eв конец строки
Ctrl XXпрыжок курсор ↔ начало строки

Слова

ХоткейДействие
Alt B / Alt Fслово назад / вперёд
Ctrl Wудалить слово перед курсором
Alt Dудалить слово после курсора
Alt Tпоменять местами два слова
Alt U / Alt L / Alt CUPPER / lower / Capitalize слова

Редактирование строки

ХоткейДействие
Ctrl Uстереть от курсора до начала
Ctrl Kстереть от курсора до конца
Ctrl Yвставить последнее стёртое
Ctrl Tпоменять местами два символа

История

ХоткейДействие
Ctrl Rпоиск по истории (повтор — искать дальше)
Ctrl Gвыйти из поиска
Ctrl P / Ctrl Nпредыдущая / следующая команда
Alt .вставить последний аргумент предыдущей команды (можно жать повторно)
!!предыдущая команда целиком
!$последний аргумент предыдущей команды
!*все аргументы предыдущей команды

Управление процессом

ХоткейДействие
Ctrl Cпрервать команду
Ctrl Zприостановить (вернуть — fg)
Ctrl Lочистить экран
Ctrl DEOF / выйти из шелла

Автодополнение

ХоткейДействие
Tab Tabпоказать все варианты
Alt *вставить все варианты дополнения в строку

Vi-режим (set -o vi)

Старт в insert-режиме, Esc переключает в normal, где работают vi-движения. Команды можно комбинировать со счётчиком, например 3dw.

Режимы

ХоткейДействие
Escinsert → normal
i / aвставка до / после курсора
I / Aвставка в начало / конец строки
vоткрыть текущую команду в $EDITOR

Движение (normal)

ХоткейДействие
h / lсимвол назад / вперёд
b / wслово назад / вперёд
eконец слова
0 / $начало / конец строки
fx / Fxк символу x вправо / влево

Удаление / замена

ХоткейДействие
dw / dbудалить слово вперёд / назад
d0 / d$удалить до начала / конца строки
ddудалить всю строку
x / Xудалить символ вперёд / назад
cw / ccзаменить слово / строку
r xзаменить один символ на x

Копирование / вставка

ХоткейДействие
yw / yyскопировать слово / строку
p / Pвставить после / до курсора
uотменить
.повторить последнее изменение

История

ХоткейДействие
k / jстарее / новее (в normal)
/textпоиск назад по истории
?textпоиск вперёд по истории
n / Nповторить поиск (в том же / обратном направлении)

Разное

ХоткейДействие
~сменить регистр символа
3dwсчётчик перед командой (например, удалить 3 слова)
Ctrl Lочистить экран