5

Когда я впервые переключился на ZSH, когда я использовал клавишу со стрелкой вверх для перемещения по истории, он отфильтровал бы историю, основываясь на том, что я уже набрал, поэтому, если я mysql а затем вверх, я буду проходить по последним командам, которые начинаются с mysql .

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

Мой .zshrc очень маленький, и я уже пытался отключить все мои опции.

Вот что есть в моем .zshrc

plugins=(git command-not-found svn debian screen vi-mode)
source $ZSH/oh-my-zsh.sh

bindkey -v
bindkey "^R" history-incremental-search-backward
export EDITOR="vim"

# history stuff
HISTFILE=~/.zsh-histfile
HISTSIZE=2000

2 ответа2

9

У вас был up-line-or-search вверх или поиск, связанный с вашей стрелкой вверх. Это должно делать то, что вы хотите:

bindkey '^[[A' up-line-or-search
bindkey '^[[B' down-line-or-search

[Редактировать]:

Команда выше использует только первое слово для поиска. Следующее будет использовать всю строку. Смотри man zshcontrib ...

autoload -U up-line-or-beginning-search
autoload -U down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
bindkey "^[[A" up-line-or-beginning-search # Up
bindkey "^[[B" down-line-or-beginning-search # Down
2

Я настоятельно рекомендую использовать "$terminfo[kcuu1]" или "$key[Up]" вместо жестко закодированных вещей, таких как "^[[A" которые могут работать или не работать в любой конкретной системе.

Проверьте /etc/zsh/zshrc для получения дополнительных ключей. Вот как это выглядит в моей системе. Я думаю, что ключи terminfo более вероятно будут определены.

key=( BackSpace "${terminfo[kbs]}" Home "${terminfo[khome]}" End "${terminfo[kend]}" Insert "${terminfo[kich1]}" Delete "${terminfo[kdch1]}" Up "${terminfo[kcuu1]}" Down "${terminfo[kcud1]}" Left "${terminfo[kcub1]}" Right "${terminfo[kcuf1]}" PageUp "${terminfo[kpp]}" PageDown "${terminfo[knp]}" )

https://unix.stackexchange.com/a/405358/276872

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