Яка оболонка дозволяє нагадувати команди з певним початком?


3

Такі програми, як matlab / октава, і я впевнений, що багато інших дозволяють вводити команду, а потім натискати Вгору для виклику останньої команди, яка починається з введених символів.

Загальні оболонки linux bash не робить цього. Чи існує інша оболонка? Я не запитую, як дізнатися останню команду, я запитую, чи є оболонка, яка трохи зручніша.


2
Не пропонують іншу оболонку, отже замість відповіді на нього додаються коментарі. Ви пробували Ctrl-r функція зворотного додаткового пошуку? Альтернативно, !foo запустить останню команду, яку ви ввели, починаючи з foo.
jw013

Дякую! Я знав про це ! але якщо я хочу бігти !rm тоді він стає моторошним
Mikhail

Саме тому я віддаю перевагу Ctrl-r тому що ви можете інтерактивно редагувати перед натисканням Enter. Для двоступеневого підходу ви можете зробити це !rm:p просто надрукувати розширення, не запускаючи його.
jw013

Відповіді:


3

Bash дозволяє це робити, якщо у вас є наступний розкомменталізований текст .inputrc:

# alternate mappings for up/down arrows to search the history
"\e[B": history-search-forward
"\e[A": history-search-backward

Це неправильно. Це не сторінка вгору / вниз, а стрілка вгору / вниз.
Daniel Beck

@Daniel: О, так, я забув змінити коментар після зміни ключів, але це був лише коментар, який був неправильним.
paradroid

Дякую! На бічній ноті, чи є кращий корпус?
Mikhail

@Mikhail: Це було б суб'єктивним питанням, але я не використовував нічого іншого на Linux, окрім iPython і bash не було б настільки популярним, якби було щось набагато краще. Деякі люди вважають за краще zsh, але про це не знаю.
paradroid

@Mikhail Використовуйте будь-яке значення за замовчуванням (тобто, мабуть, широко використовується, добре перевірене та добре інтегроване), якщо ви не маєте конкретних вимог, які може (легко) вирішити лише інша оболонка.
Daniel Beck

3

Bash насправді це робить, коли ви налаштовуєте його на це. Поставте це ~/.inputrc:

"\e[B": history-search-forward
"\e[A": history-search-backward

Потім, вгору і вниз клавіші зі стрілками шукатимуть історію, використовуючи префікс поточної команди до курсора.

Ці функції за умовчанням незв'язані. Існують інші команди пошуку історії, див тут .


0

Ви хочете використовувати пошук вперед і назад. З bash (1):

   reverse-search-history (C-r)
          Search  backward  starting  at  the current line and moving `up'
          through the  history  as  necessary.   This  is  an  incremental
          search.
   forward-search-history (C-s)
          Search  forward  starting  at the current line and moving `down'
          through the  history  as  necessary.   This  is  an  incremental
          search.

Просто натисніть клавішу ^ R і введіть статистику, вона робить саме те, що ви просите. Натискайте клавішу ^ R кілька разів, щоб переглядати хіти.

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