自定义zsh允许您只需点击Tab键,然后循环浏览目录。请参阅此answer。
这是一个惊人的工作流程改进,但我需要以下方面的帮助:
我怎样才能实现,zsh选项卡完成会显示所有文件和文件夹并让我循环浏览它们? (实际上它只显示没有更多目录要更改的文件。)
此外,当选择是文件而不是文件夹时,它将不会在完成前放置“cd”非常有用。
(我使用系统mime从终端打开文件。)
感谢。
答案 0 :(得分:2)
略微修改the answer here:
function complete_pwd_items_on_empty_buffer
{
if [[ -z $BUFFER ]]; then
BUFFER="./"
CURSOR=2
zle list-choices
else
zle expand-or-complete
fi
}
zle -N complete_pwd_items_on_empty_buffer
bindkey '^I' complete_pwd_items_on_empty_buffer
如果命令行为空并且您按TAB键,这将插入./
并列出可执行文件或目录。您可以通过这种方式在当前目录树中执行可执行文件,或者如果已设置cd
选项,则可以AUTO_CD
以这种方式执行子目录。
事实上,我们可以通过仅在空白的命令行上启用此技巧来做得更好一点:
function complete_pwd_items_on_empty_buffer
{
if [[ $BUFFER =~ ^[[:space:]]*$ ]]; then
BUFFER+="./"
CURSOR+=2
zle list-choices
else
zle expand-or-complete
fi
}
zle -N complete_pwd_items_on_empty_buffer
bindkey '^I' complete_pwd_items_on_empty_buffer