diff --git a/docs/servers/bash.md b/docs/servers/bash.md new file mode 100644 index 0000000..92e74c8 --- /dev/null +++ b/docs/servers/bash.md @@ -0,0 +1,49 @@ +# 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` — переход по истории команд (аналог `↑ / ↓`, но не нужно тянуться к стрелочкам). + diff --git a/docs/servers/misc.md b/docs/servers/misc.md deleted file mode 100644 index 782a766..0000000 --- a/docs/servers/misc.md +++ /dev/null @@ -1,24 +0,0 @@ -# Разное - -## Поиск по истории команд в bash - -Включаем поиск по истории команд `bash` по префиксу. - -=== "Терминал" - - ```sh - nano ~/.inputrc - ``` - -=== ".inputrc" - - ```sh - "\e[A": history-search-backward - "\e[B": history-search-forward - ``` - -После обновления `.inputrc` нужно либо начать сеанс заново, либо выполнить команду. - -```sh -bind -f ~/.inputrc -``` \ No newline at end of file