Шпаргалка по хоткеям 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 C | UPPER / 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 D | EOF / выйти из шелла |
Автодополнение#
| Хоткей | Действие |
|---|
Tab Tab | показать все варианты |
Alt * | вставить все варианты дополнения в строку |
Vi-режим (set -o vi)#
Старт в insert-режиме, Esc переключает в normal, где работают vi-движения. Команды можно комбинировать со счётчиком, например 3dw.
Режимы#
| Хоткей | Действие |
|---|
Esc | insert → 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 | очистить экран |