在 zsh 中,有没有办法导航目录的历史我访问过的(目录中列出的)当我在命令行中输入命令时?
例如,假设我开始cp -r
在终端中输入,我想然后使用 M-n
或M-p
直到我从我访问过的目录列表中找到一个目录,我想cp -r
在我输入的命令中遵循该目录。最终我会找到/some/path/
源cp
目录,然后键入<SPC>
并重复该过程以查找我的/some/other/path
命令。destination directory
cp
如果有帮助的话,下面的代码可以帮助我导航命令历史从命令行使用C-n
和C-p
,它允许我使用我之前键入的其他命令自动完成我的命令。
up-line-or-history-beginning-search () {
if [[ -n $PREBUFFER ]]; then
zle up-line-or-history
else
zle history-beginning-search-backward
fi
}
down-line-or-history-beginning-search () {
if [[ -n $PREBUFFER ]]; then
zle down-line-or-history
else
zle history-beginning-search-forward
fi
}
zle -N up-line-or-history-beginning-search
zle -N down-line-or-history-beginning-search
bindkey '^P' up-line-or-history-beginning-search
bindkey '^N' down-line-or-history-beginning-search