Горячие клавиши bash
Горячие клавиши bash можно разделить на несколько больших групп:
CTRL-команды:
Ctrl + a — переход к началу строки
Ctrl + b — аналог стрелки влево (ну, если не работает)
Ctrl + c — отменить редактирование команды или прекратить работу (если запущена)
Ctrl + d — аналог Delete. Если строка пустая — выход из shell
Ctrl + e — переход к концу строки
Ctrl + f — аналог стрелки вправо
Ctrl + g — выход из режима дополнения
Ctrl + h — аналог BackSpace
Ctrl + i — аналог Tab
Ctrl + k — удалить всё до конца строки
Ctrl + l — Очистить экран (набранная строка и даже позиция курсора остаётся)
Ctrl + r — (ну, это все знают) — поиск по истории набранных команд
Ctrl + R — поиск по истории набранных команд назад (это когда есть несколько вариантов и проскочили нужный)
Ctrl + t — поменять местами текущий символ с предыдущим
Ctrl + u — удалить всё до начала строки
Ctrl + v — преобразует следующую клавишу в её символьное отображение (Enter — ^M, Esc — ^[ и т.д.)
Ctrl + w — удалить от курсора до начала слова
Ctrl + x дважды — скачок между началом строки и текущей позицией курсора.
Ctrl + x @ — Показывает возможные варианты дополнения доменного имени (вот это мне воспроизвести не удалось).
Ctrl + y — вставить из буфера (все удаляемое по горячим клавишам удаляется не просто так, а в буфер)
Ctrl + z — притормозить/остановить выполнение команды в фон
Ctrl + _ — отмена последнего изменения
ALT-команды
Alt + < — к первой команде в истории (вообще к самой первой в .bash_history)
Alt + > — к последней команде в истории
Alt + ? — показать весь список вариантов дополнения (аналог 2Т — см. ниже)
Alt + * — вставить все возможные варианты дополнения
Alt + / — попытатся дополнить имя файла (из имеющихся в текущем каталоге)
Alt + . — вставить последний аргумент из предыдущей команды
Alt + b — влево на слово
Alt + c — сделать первую букву слова заглавной (и перейти к следующему слову)
Alt + d — удалить от текущей позиции до конца слова
Alt + f — вправо на слово
Alt + l — сделать первую букву слова строчной (и перейти к следующему слову)
Alt + n — искать по истории (но не сразу, а после полного ввода и нажатия Ентер)
Alt + p — искать по истории назад
Alt + r — очистить всю строку
Alt + t — поменять слова местами
Alt + u — сделать все буквы заглавными от текущей позиции до конца слова
Alt + BackSpace — Удалить от текущей позиции до начала слова
Esc-команды
Esc+d — удалить от курсора до конца слова
Esc+f — вправо на слово
Esc+b — влево на слово
Esc+t — поменять местами слова
Tab-команды
2T обозначает дважды нажатый Tab
2T — все доступные команды (это тоже все знают)
(string)2T — все доступные команды начинающиеся на string
/2T — все каталоги, включая скрытые. Для текущего надо набрать ./2Т
*2T — каталоги, кроме скрытых
~2T — все пользователи, присутствющие в /etc/passwd
~f2T — все пользователи, присутствющие в /etc/passwd, начинающиеся на f
$2T — все системные переменные
@2T — все записи в /etc/hosts
=2T — вывод наподобии ls или dir
Просто команды
!! — выполнить последнюю команду в истории
!abc — выполнить последнюю команду в истории, начинающуюся на abc
!a:p — напечатать последнюю команду в истории, начинающуюся на a
!n — выполнить n-ную команду в истории
!$ — посдедний аргумент последней команды
!^ — первый аргумент последней команды
^abc^xyz — заменить abc на xyz в последней команде и выполнить результат