(reverse-i-search) в Bash

Я обычно заканчиваю тем, что использовал CTRL+r для (reverse-i-search), однако, иногда я передаю команду, которую я искал; если я делаю снова a (reverse-i-search) это больше не находит его. Я предполагаю, что текущий указатель на историю команд перед командой я ищу.

Делает кто-либо знает, как вернуться к актуальнейшей команде в истории, не имея необходимость нажимать 1000 раз down arrow?

26
задан 21.04.2017, 21:25

2 ответа

На stackoverflow.com существует подобный вопрос.

Лучший ответ там должен использовать Ctrl+G отменять текущий поиск.

7
ответ дан 07.12.2019, 09:32

На самом деле другой ответ на тот вопрос дает более оптимальный вариант.

В Вашем ~/.bashrc добавьте следующую строку:

stty -ixon

Затем можно использовать Ctrl-s, чтобы выйти вперед через историю таким же образом, как Вы использовали бы Ctrl-r для продвижения назад.

Это будет даже работать для запуска, новое вперед ищут (названный i-search в противоположность reverse-i-search) при просматривании истории. Предположим, что Вы делаете Ctrl-r и вводите некоторый текст команды около Вашего места назначения, затем нажимают стрелку вверх, несколько раз промахивающуюся, что Вы действительно искали (или Вы передумали). Теперь нажмите Ctrl-s и введите несколько символов от той строки. Zoooom! Прямо к нему.

38
ответ дан 07.12.2019, 09:32

Теги

Похожие вопросы