Метод обратного i-поиска в bash полезен, но он не похож на большинство других команд bash, поскольку он, похоже, связан с привязкой клавиш (Ctrl + R). Как пользователь может инициировать это средство, используя вместо него псевдоним или команду ввода?альтернативный способ запуска обратного i-поиска без нажатия ctrl + r в bash
ответ
Функция обратного i-поиска фактически является функцией readline (reverse-search-history), а не встроенной функцией bash (man builtin или см. builtin commands in the bash reference manual). Насколько я знаю, нет способа вызвать функцию readline вне привязки к ключу.
Вы можете увидеть все привязки клавиш readline к этой функции с помощью «bind -l -p
». Список bindable readline commands можно найти в справочном руководстве.
Вы всегда можете использовать команду history
, чтобы получить список истории и использовать grep
, чтобы найти то, что вы ищете. Сам я считаю, что это будет полезно:
alias hists="history | grep -v '^ *[0-9]* *hists' | grep [email protected]"
Когда я бегу hists something
получить список всех команд, матчи something
. Все, что мне нужно сделать, это сделать! #, Чтобы запустить команду. Например:
bash-3.2$ hists emacs
30 emacs
128 emacs
129 emacs
204 emacs
310 emacs .bash_history
324 emacs Documents/todo.txt
bash-3.2$ !324
Это не совсем то, что вы ищете, но так близко, как я могу это сделать.
История grepping - это именно то, что я начал использовать Ctrl-R, чтобы уйти .... хороший ответ в любом случае, хотя – dreftymac
Если вы смотрите на страницы руководства для bash или истории (3readline) в разделе «Расширение истории»> «Обозначения событий», вы видите команды для выполнения этого типа вещей.
!?prof?
будет отображать самую последнюю команду, содержащую «prof», и выполнить ее немедленно. Если вы хотите напечатать команду без его выполнения, вы можете добавить «: р»
!?prof?:p
Чтобы изменить команду в командной строке, используя приведенный выше пример, тип:
!?prof
(не нажимайте кнопку ввода) и нажмите M-^
Они используют расширительную установку bash. Они получают самый последний матч.
Если вы хотите писать сценарии или псевдонимы, посмотрите на странице man bash во встроенных командах «fc» и «history» (-p или -s). Также «shopt -s histreedit».
Вот пример псевдоним:
alias dothis='`history -p "!?jpg?"`'
(те обратные кавычки только внутри одиночных кавычек).
С некоторыми из этих команд вы можете сделать несколько «старых/новых» и других вещей.
- 1. Альтернативный способ запуска огурца без JUnit?
- 2. Ctrl-Space в Eclipse без нажатия Ctrl-Space
- 3. Множественный выбор списка без нажатия CTRL
- 4. Bash Ctrl-r использовать текущий текст
- 5. Режим вставки Ctrl-O без запуска автокоманд
- 6. Предложения CSS без нажатия ctrl + space
- 7. Отправка ctrl-r в bash в подпроцессе python
- 8. Есть ли способ автоматического запуска отправки без нажатия кнопки отправки?
- 9. Признание Ctrl + KEY в случае bash
- 10. Python IDLE поиск в истории (аналогично Ctrl + R в bash)
- 11. Простой способ повторно открыть команду, написанную ранее с помощью CTRL + X, CTRL + E в bash?
- 12. Альтернативный способ a == b, без булевых
- 13. Альтернативный вариант обратного вызова DataTables
- 14. кнопка запуска каждые 2 часа без нажатия
- 15. Таймер обратного отсчета без запуска приложения
- 16. альтернативный способ для события нажатия триггера для мобильного
- 17. Как проверить скрипт bash без запуска скрипта?
- 18. Альтернативный способ сброса пароля
- 19. Как захватить нажатия клавиш CTRL + CTRL в моем приложении Win32?
- 20. Лучший способ запуска приложений из сценария bash?
- 21. альтернативный способ «множественного» наследования
- 22. Есть ли альтернативный Ctrl + C, чтобы остановить сервер rails?
- 23. Как выбрать несколько элементов без нажатия клавиши Ctrl внутри QGraphicsScene?
- 24. Как выбрать несколько ячеек datagridview без нажатия клавиши Ctrl?
- 25. Альтернативный способ написать это?
- 26. Альтернативный способ запуска webstart после Chrome падает NPAPI?
- 27. Альтернативный способ загрузки в Swift
- 28. Может ли Emacs различать ctrl-r и ctrl-shift-r?
- 29. ловушки bash: разрешение команды заканчивается до обработки ctrl + c
- 30. Способ запуска нескольких событий нажатия и удержания в jQuery
Это интерактивная команда, поэтому она должна быть связана чем-то. Вы ищете расширение/замену истории? –
В основном я ищу идентичное поведение Ctrl-R, но с возможностью ввода его вместо того, чтобы запускать его с помощью этой точной комбинации клавиш. Ничего необычного, просто эргономика. – dreftymac