2

Я не могу заставить привязки истории zsh работать так, как мне бы хотелось. Я хотел бы иметь возможность набрать sudo а затем использовать стрелку вверх для прокрутки всех команд истории с префиксом sudo .

Я считаю, что это должно быть " bindkey "^[[5~" up-line-or-history . У меня есть это в lib/key-bindings.zsh и этот файл должен быть получен. Я использую практически неизмененную установку oh-my-zsh .

У меня есть то, что я думаю, это те же .zshrc и lib на виртуальной машине, и история работает так, как я хочу. Виртуальная машина работает zsh 4.3.10 то время как другой мой компьютер (тот, который не работает) находится на 5.0.0 . Это проблема версии?

2 ответа2

2

Я не уверен, изменилось ли это с 4.3.10 до 5.0.0, но виджет, который вы ищете, называется history-search-backward в последних нескольких выпусках.

Также хорошая привязка клавиш - это history-incremental-pattern-search-backward где вы можете ввести (в специальном приглашении после вызова этого виджета), например, sudo*destdir для циклического перебора всех команд, начиная с sudo и заканчивая destdir .

0

См. Https://github.com/robbyrussell/oh-my-zsh/issues/1720.

Добавление этого в .zshrc решило это для меня:

# start typing + [Up-Arrow] - fuzzy find history forward
if [[ "${terminfo[kcuu1]}" != "" ]]; then
    autoload -U up-line-or-beginning-search
    zle -N up-line-or-beginning-search
    bindkey "${terminfo[kcuu1]}" up-line-or-beginning-search
fi
# start typing + [Down-Arrow] - fuzzy find history backward
if [[ "${terminfo[kcud1]}" != "" ]]; then
    autoload -U down-line-or-beginning-search
    zle -N down-line-or-beginning-search
    bindkey "${terminfo[kcud1]}" down-line-or-beginning-search
fi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .