51 lines
2.8 KiB
Markdown
51 lines
2.8 KiB
Markdown
# 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` — удалить слово слева от курсора. |