Zsh制表符补全无法部分路径所需的工作
我想要中的文件和目录不区分大小写的模糊完成zsh。阅读了几个小时的手册后,我想到了以下内容: zstyle ':completion:*:*:*:*:globbed-files' matcher 'r:|?=** m:{a-z\-}={A-Z\_}' zstyle ':completion:*:*:*:*:local-directories' matcher 'r:|?=** m:{a-z\-}={A-Z\_}' zstyle ':completion:*:*:*:*:directories' matcher 'r:|?=** m:{a-z\-}={A-Z\_}' 此外,我想按TAB一次以显示可能的补全,仅在有一个补全的情况下才修改输入的内容。然后再按TAB一次将使我进入“菜单完成”模式。根据手册,我想到了以下内容: zstyle ':completion:*' menu select 现在,在一种情况下,一切都会按预期进行。我有两个文件夹,Desktop并且.rstudio-desktop在主目录中。既然有了setopt globdots,我希望输入以下内容: $ cd ~/dktop<TAB> 保留输入的命令,并显示为完成候选Desktop和.rstudio-desktop。相反,它将删除 dktop,剩下以下内容: $ cd ~/ 我看了所有相关的手册,指南,Stack Exchange问题以及其他各种来源。但是无论我做什么,我都无法完成这项工作。 不过,有趣的是,如果我在主目录中并键入以下内容,则一切都会按预期进行: $ cd dktop<TAB> 也就是说,这仅是路径的非前导段的问题(您可以看到C-x h,这对应于directories标记而不是local-directories所使用的标记)。 为了易于重现,此处提供了~/.zshrc一种可以重现上述情况和行为的工具(在zshHomebrew 的全新El Capitan虚拟机上进行了测试)。