如何在不选择每个命令的每一行的情况下滚动浏览 Zsh 历史记录中的多行命令?
How can one scroll through multi-line commands in the Zsh history without selecting each line of each command?
如果在Zsh(macOS或Ubuntu)中连续运行以下命令:
date +%s
echo \
a\
b\
c
然后可以按 5 次向上箭头滚动回第一个命令。
有没有办法只用两次按键就可以回到第一个命令(即第一次按键选择 echo
命令,第二次按键选择 date
命令)?
当历史包含多个长的多行命令时,使用向上箭头键向后滚动会很痛苦。
我希望找到一些 Zsh 快捷键,它们可以在命令历史记录中上下滚动,而不会在途中停下来编辑多行命令,但我还没有找到。
将以下内容添加到您的 .zshrc
文件中:
bindkey '^P' up-history
bindkey '^N' down-history
现在你可以按ControlP进入历史记录和ControlN 进入历史记录,无论当前历史记录项有多少行或您在哪一行。
有关详细信息,请参阅 https://zsh.sourceforge.io/Doc/Release/Zsh-Line-Editor.html#History-Control
或者,我的 plugin zsh-autocomplete
包含一个历史菜单,允许您在历史项目中上下移动,每个项目只需按一个键,包括多行项目。
如果在Zsh(macOS或Ubuntu)中连续运行以下命令:
date +%s
echo \
a\
b\
c
然后可以按 5 次向上箭头滚动回第一个命令。
有没有办法只用两次按键就可以回到第一个命令(即第一次按键选择 echo
命令,第二次按键选择 date
命令)?
当历史包含多个长的多行命令时,使用向上箭头键向后滚动会很痛苦。
我希望找到一些 Zsh 快捷键,它们可以在命令历史记录中上下滚动,而不会在途中停下来编辑多行命令,但我还没有找到。
将以下内容添加到您的 .zshrc
文件中:
bindkey '^P' up-history
bindkey '^N' down-history
现在你可以按ControlP进入历史记录和ControlN 进入历史记录,无论当前历史记录项有多少行或您在哪一行。
有关详细信息,请参阅 https://zsh.sourceforge.io/Doc/Release/Zsh-Line-Editor.html#History-Control
或者,我的 plugin zsh-autocomplete
包含一个历史菜单,允许您在历史项目中上下移动,每个项目只需按一个键,包括多行项目。