1

自定义zsh允许您简单地按 Tab 键并让您循环浏览目录。看到这个答案

这是一个了不起的工作流程改进,但我需要以下帮助:

我怎样才能实现,zsh 选项卡完成将向我显示所有文件和文件夹并让我循环浏览它们?(实际上它仅在没有更多目录可更改时显示文件。)

In addition, it would be very useful, that it will not put "cd" in front of the completion when the choice is a file and not a folder.

(我使用系统 mime 从终端打开文件。)

谢谢。

4

1 回答 1

2

稍微修改这里的答案:

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
于 2015-06-07T23:46:10.387 回答