Я обычно заканчиваю тем, что использую CTRL+ rfor (reverse-i-search), однако иногда я пропускаю искомую команду; если я сделаю еще раз, (reverse-i-search)
то больше не найду. Я предполагаю, что текущий указатель на историю команд находится перед командой, которую я ищу.
Кто-нибудь знает, как вернуться к самой последней команде в истории, не нажимая 1000 раз down arrow
?
linux
bash
command-history
Майк
источник
источник
CTRL+SHIFT+R
вернитесьОтветы:
На stackoverflow.com есть похожий вопрос .
Лучший ответ - использовать
Ctrl+G
для отмены текущего поиска.источник
stty -ixon
в вашем.bashrc
(или в каком - либо другом соответствующем файле конфигурации), а затемCtrl-S
шаг вперед в истории, подобно тому, какCtrl-G
шаг назад. ПервоеCtrl-S
нажатие послеCtrl-G
измененияreverse-i-search
наi-search
, следующееCtrl-S
делает первый шаг вперед. Тогда каждыйCtrl-S
делает еще один шаг вперед.На самом деле, другой ответ на этот вопрос дает лучший вариант.
В вашем
~/.bashrc
добавьте следующую строку:Затем вы можете использовать Ctrl- sдля перехода вперед по истории точно так же, как вы использовали бы Ctrl- rдля перехода назад.
Это будет даже работать, чтобы начать новый прямой поиск (называемый
i-search
в противоположностьreverse-i-search
) при просмотре истории. Предположим, вы делаете Ctrl- rи набираете какой-то текст команды рядом с пунктом назначения, затем нажимаете стрелку вверх несколько раз, выпуская то, что вы действительно искали (или вы передумали). Теперь нажмите Ctrl- sи введите несколько символов из этой строки. Zoooom! Прямо к этому.источник