# Bash ## Поиск по истории команд в bash (`↑/↓`) Включаем поиск по истории команд `bash` по префиксу. === "Терминал" ```sh nano ~/.inputrc ``` === ".inputrc" ```sh "\e[A": history-search-backward "\e[B": history-search-forward ``` После обновления `.inputrc` нужно либо начать сеанс заново, либо выполнить команду. ```sh bind -f ~/.inputrc ``` ## Поиск по истории команд (`ctrl + r`) `ctrl + r` — начать поиск по истории команд. Дальше можно вводить любую часть команды, поиск будет инкрементально обновляться с каждым введённым символом. - При повторном нажатии `ctrl + r` будет выведена следующая подходящая команда. - `Esc` или `ctrl + g` — прервать поиск и вернуться в обычный режим. - `→` или `ctrl + j` — вставить найденную команду в командную строку, но не выполнять. Пригождается, если нужно предварительно отредактировать команду. - `Enter` — выполнить найденную команду. ## Сочетания клавиш В Bash есть множество сочетаний клавиш для быстрой навигации и редактирования команд. Это функции [GNU Readline](https://en.wikipedia.org/wiki/GNU_Readline) (по этой же ссылке можно найти полный список сочетаний). - `ctrl + l` — очистить экран (аналог `clear`). - `alt + .` — вставить последний аргумент предыдущей команды. - `ctrl + a` — в начало строки. - `ctrl + e` — в конец строки. - `alt + b` — назад на одно слово. - `alt + f` — вперед на одно слово. - `ctrl + b` и `ctrl + f` — назад/вперед на один символ (аналог `← / →`, но не нужно тянуться к стрелочкам). - `ctrl + p` и `ctrl + n` — переход по истории команд (аналог `↑ / ↓`, но не нужно тянуться к стрелочкам). - `alt + r` — отменить изменения в команде и вернуть к виду, в котором она хранится в истории команд. - `alt + d` — удалить слово справа от курсора. - `ctrl + w` — удалить слово слева от курсора.