Это была запрошенная функция в исходном iTerm шесть лет назад, но единственным действием над ней было установить низкий приоритет .
Изучив itermocil , я думаю, вы сможете сделать это либо с Terminal.app, либо с iTerm (2) с помощью AppleScript. Однако я очень мало знаю об AppleScript и не могу найти по нему реальной документации.
На самом деле я нашел очень хорошую функцию неинкрементного поиска. По умолчанию Readline привязывает:
Mn
к неинкрементной истории прямого поиска
Mp
к неинкрементной истории обратного поиска
какой-то бред, ИМХО. Но в Readline также есть еще одна пара функций неинкрементного поиска без привязок по умолчанию:
поиск в истории-вперед
поиск в истории-назад
Поиск вперед/назад по истории для строки символов между началом текущей строки и точкой.
Они на самом деле очень полезны. Я связал их с M-n
и M-p
, заменив неинкрементные функции по умолчанию.
Если я начал вводить команду и решил найти соответствующую запись в истории, я могу нажать Escape p
(так как на самом деле у меня нет мета-клавиши).
При повторных нажатиях цикл выполняется дальше назад, а Escape n
снова выполняется цикл вперед.
Я предполагаю, что можно было бы предпочесть не -добавочный поиск в истории Bash по тем же причинам, что и в других интерфейсах; может быть несколько отвлеченно видеть, как мимо проносятся нерелевантные совпадения, когда вы точно знаете, что ищете.
Кроме того, эффективность. Не так много сейчас, но в старые времена я могу себе представить, что добавочный поиск был бы намного медленнее.