17 zsh
当我第一次切换到 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
Run Code Online (Sandbox Code Playgroud)
Fra*_*sco 21
你已经up-line-or-search
绑定了你的向上箭头。这应该做你想做的:
bindkey '^[[A' up-line-or-search
bindkey '^[[B' down-line-or-search
Run Code Online (Sandbox Code Playgroud)
[编辑]:
上面的命令只使用第一个单词进行搜索。下面将使用整行。看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
Run Code Online (Sandbox Code Playgroud)
小智 9
我强烈建议使用"$terminfo[kcuu1]"
or"$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
归档时间: |
|
查看次数: |
8106 次 |
最近记录: |