oh-my-zsh завершение истории

Я недавно переключился на zsh, используя robbyrussell это oh-my-zsh. До этого я использовал bash с большим количеством пользовательских вещей, и мне не хватает только одной вещи, потому что zsh пытается быть "слишком умным":

если я типа git commit а то zsh перебирает все последние git команды. Что я действительно хочу, так это пройти все команды, которые начинаются с git commit (не просто git).

как я могу добиться этого поведения в (О мой)ЗШ?

25
задан Gilles
29.11.2022 7:32 Количество просмотров материала 2516
Распечатать страницу

2 ответа

Я нашел решение моей проблемы в документация ZSH. О-мой-zsh, кажется, карта и ключи к чему-то вроде

bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward

, что дает точное поведение, которое я описал выше. Документация ZSH описывает поведение history-search-backward as

поиск назад в истории для строки, начинающейся с первое слово в buffer.




вместо этого я хотел следующее отображение, которое я вставил в свой ~/.zshrc:

bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward

поведение history-beginning-search-backward следующим образом:

Поиск вперед в истории для строки начиная с текущей строки до курсора. При этом курсор остается в исходном положении.

кроме того, если \e[A не работает для стрелок вверх или вниз нажмите <ctrl-v><KEY (e.g., up arrow)> в другом терминале, который дает ^[OA. Тогда вы можете использовать это вместо \e[A. Процесс описан здесь:http://zshwiki.org/home/zle/bindkeys

62
отвечен Patrick Oscity 2022-11-30 15:20

Я хотел такое же поведение для zsh с oh-my-zsh установлен и нашел плагин history-substring-search.

Я достиг того же поведения, описанного выше, добавив плагин к моему ~/.zshrc:

plugins=(git brew npm history-substring-search)

Я думаю, что этот плагин не существовал, когда этот вопрос был поднят. Просто альтернативный способ добиться того же.

12
отвечен dcusan 2022-11-30 17:37

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх