История Emacs Comint: поиск, а не навигация один за другим

Я бы хотел после переключения в буфер, где я обычно запускаю команды, перемещаться по истории, выполняя поиск в ней, а не перемещаться по одной команде за раз в конце буфера (например, C-p).

По сути, я хотел бы "Обратный I-поиск" истории команд в конце буфера, а не искать в буфере.

Кто-нибудь кодировал рабочее решение? Обратите внимание, что я заметил, что доступен буфер истории команд, но здесь это просто набор текста, и он недостаточно сгруппирован, как мне кажется, для использования.

2 ответа

Решение

Как и в терминале, вы можете использовать Mr для поиска в обратном направлении. Работает в comint-mode, но это также работает в другом месте, как в Mx (MxMrpatternRET).

Да, с сосульками.

В режиме сосульки команда icicle-comint-search связан с Cc `в буферах оболочки. Это дает вам поведение, которое вы ищете. Это описано здесь.

Однако в качестве кандидатов он использует только то, что находится в видимой истории. Если вы хотите получить доступ к материалам из вашей истории из предыдущих сессий, используйте команду comint-input-ringсвязано с C-c TABвместо. (Это объясняется в том же документе.)

Другие вопросы по тегам