(реверс-i-пошук) на Bash


26

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

Хтось знає, як повернутися до найактуальнішої команди в історії, не натискаючи 1000 разів down arrow?


1
Зворотний пошук є особливістю bash (і лібералів readline), тому я відредагував заголовок і запитання трохи, щоб це відобразити.
Doug Harris

якщо ви проходите повз команду, яку ви хотіли, CTRL+SHIFT+Rповерніться назад
Рікі Робінсон

Відповіді:


7

Там є аналогічне питання на stackoverflow.com .

Найкраща відповідь - використовувати Ctrl+Gдля скасування поточного пошуку.


Це справді не найкраща відповідь. Найкраща відповідь - це відповідь Денніса Вільямсона: додайте stty -ixonу свій .bashrc(або у якийсь інший відповідний файл конфігурації), а потім Ctrl-Sкроки вперед в історії, подібно до Ctrl-Gкроків назад. По- перше Ctrl-Sнатискання після того, як Ctrl-Gзміни reverse-i-searchв i-search, наступний Ctrl-Sробить перший крок вперед. Потім кожен Ctrl-Sробить на крок більше.
nrz

або якщо ви вже припинили пошук (наприклад, натиснувши esc або клавішу зі стрілкою), ви можете натиснути Esc, а потім '>'
Superole

38

Власне, ще одна відповідь на це питання дає кращий варіант.

У вашому ~/.bashrcдодати наступний рядок:

stty -ixon

Тоді ви можете скористатися Ctrl- sкрокувати вперед через історію так само, як і раніше Ctrl- rкрокувати назад.

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


2
що означає stty -ixon? чи відключає щось, що може знадобитися в інших ситуаціях?
Григорій Пакош

7
@GregoryPakosz: Він вимикає XON / XOFF ( управління потоком програмного забезпечення ), що марно з клавіатури зараз, коли ми спілкуємося з трохи більшою швидкістю, ніж 300 бод.
Призупинено до подальшого повідомлення.

дякую, гуглили на деякий час і прийшли до такого ж висновку, що нині це в основному марно
Григорій Пакош
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.