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

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

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

Как я могу достичь такого поведения в (oh-my-) 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)

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

  • Написание сценариев оболочки, которые будут выполняться на любой оболочке (используя несколько строк shebang?)
  • Где мой zsh получает свои настройки завершения git?
  • Цвета завершения ZSH и OS X
  • Почему `zsh` вставляет` ~ `, когда я нажимаю клавишу удаления?
  • Invoke zsh, затем * source * другой файл (при входе в интерактивный режим)
  • Как я могу получить автозаполнение zsh для заполнения подстановочных знаков, таких как bash?
  • Как удалить файлы в командной строке с регулярными выражениями?
  • Scp с zsh: совпадений не найдено
  • Поместить в bash или zsh history абсолютный путь к файлам, над которыми я работаю
  • Zsh не попадает ~ / .profile
  • Исключения из функции zsh correctall?
  • Как я могу выполнить рекурсивную поиск и замену из командной строки?
  • Interesting Posts

    В чем причина невозможности сохранения Fillable PDF?

    Как загрузить большое количество файлов через ubuntu

    Как набрать карасон с клавиатурой querty?

    Нужно ли переустанавливать окна 8 для включения UEFI?

    Выделите вывод консольного поиска, отображая весь вывод команды

    Почему учетная запись гостя отсутствует / повреждена в Windows 10?

    Отправлять только видеовыход с помощью кабеля HDMI

    Как запустить программу .msi с правами администратора?

    Как изменить язык Microsoft Office?

    Как рассчитать разницу во времени с помощью Excel?

    Добавить драйверы сетевого принтера в Windows 7 / Server 2008 R2?

    Rails: невозможно подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock'

    Как узнать, сколько процессоров (ядер) у вас на Windows 7

    Попытка запустить средство создания медиа – «Что-то случилось 0x80070002 – 0x20016»

    Linux переименовывается с использованием параметров и пробелов?

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