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

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

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

Как я могу достичь такого поведения в (oh-my-) zsh?

  • Как удалить файлы в командной строке с регулярными выражениями?
  • Как изменить оболочку по умолчанию на удаленном сервере?
  • Поместить в bash или zsh history абсолютный путь к файлам, над которыми я работаю
  • Как я могу получить автозаполнение zsh для заполнения подстановочных знаков, таких как bash?
  • На OS X, как я могу запустить Cacoa emacs * и * перенести его на передний план?
  • Команды npm не работают на WSL с zsh
  • Изменение заголовков и заголовков iTerm2 в zsh
  • Zsh начинается невероятно медленно
  • 2 Solutions collect form web for “Завершение истории oh-my-zsh”

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

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

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

    Искать назад в истории для строки, начинающейся с первого слова в буфере .


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

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

    Поведение history-beginning-search-backward выглядит следующим образом:

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

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

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

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

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

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

    Давайте будем гением компьютера.