zsh 没有使用向上箭头完成多个命令

zsh 没有使用向上箭头完成多个命令

我正在使用带有此插件的 zsh:zsh-history-substring-search

例如,当我输入时,sudo pacman <UPArrow>它会显示一些以 开头的命令sudo pacman,但它也会显示仅以 sudo 开头的命令,但没有 pacman,例如:
sudo kill 11064 sudo fdisk /dev/sda 因此自动完成会忽略第二个命令。

如何设置 zsh-history-substring-search 插件以使用多个命令?

答案1

我认为你应该能够得到你想要的东西而不需要插件。基于此Unix Stack Exchange 答案,只需将以下内容添加到您的.zshrc

bindkey "^[[A" history-beginning-search-backward
bindkey "^[[B" history-beginning-search-forward

您可能需要调整提供的键代码bindkey- 链接的答案提供了更多详细信息。

编辑:

使用本文提到的 ZLE 小部件博客文章可能会更胜一筹,因为对于多行缓冲区,它们在缓冲区内向上或向下移动;而对于单行,它们的表现与和history-beginning-search-backward相同-forward

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
bindkey "^[[B" down-line-or-beginning-search

相关内容